本文目录
一、数据分页
在laravel里面要完成分页是很简单的,它的思想之前的框架有些不一样,之前框架使用的是分页类完成分页的,laravel是直接调用模型的分页方法,返回对应的数据和分页的字符串。
分页类在框架中的位置:
vendor/laravel/framework/src/Illuminate/Pagination
案例:使用分页功能实现当前member数据表的分页效果,每页显示一条数据。
分页效果实现重要步骤
1、查询符合分页条件的总的记录数
2、计算总的页数(总记录数/每页记录数,并且向上取整)
3、拼凑分页的链接
4、使用limit语法来限制分页的记录数
5、展示分页的页码和分页的数据
6、如果可以,建议去考虑下分页的样式显示问题
在laravel中步骤分为 :
1、分页
2、展示
3、处理样式
创建路由,并且展示简易列表页面
路由: /pageshow
控制器:
无分页视图:
使用分页展示:
每页展示一条数据
在laravel中分页有2个提供者,DB查询构建器,另外可以使用模型来实现。用法基本一致。
分页最基本语法:
Model::paginate(每页显示对记录数)同样,paginate和get一样,支持使用where以及orderBy等辅助查询的方法。
显示分页结果
当调用paginate方法是,你将获取Illuminate\Pagination\LengthAwarePaginator
实例,而调用方法simplePaginate
时,将会获取Illuminate\Pagination\Paginator
实例,这些对象提供相关方法米阿树这些结果集,除了这些辅助函数外,分页器实例本身就是迭代器,可以像数组一样对其进行循环调用。所以,获取到结果后,可以按如下方式使用Blade显示这些结果并渲染页面链接:
<div class="container">
@foreach($data as $user)
{
{
$user -> name}}
@endforeach
</div>
{
{
$data -> links()}} // 通过数据对象调用links方法显示分页码
二、验证码
验证码:captcha,全自动区分人与计算机的图灵测试。
回顾:生成验证码需要经过:画画步、生成干扰线、生成噪点、生成验证码、生成验证码存入session、输出图片。
常见的验证码类型:字符验证码、短信验证码、电话验证码、12306类型验证码、拖拽验证码等。
2.1 验证码依赖安装
packagist网站搜索验证码的代码依赖:关键词:captcha
在目录终端下输入安装命令:
composer require mews/captcha
在config/app.php中配置:
如果需要自定义的设置,就添加配置文件:
首先在文件终端命令后执行:
php artisan vendor:publish
在这里我们选择11然后回车这个时候就有captcha.php
:
在表单的blade中写入如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="/auto_verify" method="post" enctype="multipart/form-data">
<input type="text" name="name" placeholder="请输入姓名"><br/>
<input type="text" name="age" placeholder="请输入年龄"><br/>
<input type="text" name="email" placeholder="请输入邮箱"><br>
<input type="file" name="avatar" ><br/>
<input type="text" name="yzm" placeholder="验证码"><img src="{
{captcha_src()}}" alt=""><br/>
{
{
csrf_field()}}
<input type="submit" value="提交">
<!-- 错误信息显示 -->
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors -> all() as $error)
<li>{
{
$error}}</li>
@endforeach
</ul>
</div>
@endif
</form>
</body>
</html>
浏览器输入展示表单的路由:
可以看到验证码出来了,正常一般都是4个,我们去配置文件修改:
效果如图:
然后添加验证码验证规则:
效果:
可以看到这边出现了yzm,这个时候我们去改语言包:
效果:
接着输入不一样的验证码:
增加翻译:
效果:
更多配置语法点这里
在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。