位置: 编程技术 - 正文

PHP框架Laravel插件Pagination实现自定义分页(php框架怎么用)

编辑:rootadmin

推荐整理分享PHP框架Laravel插件Pagination实现自定义分页(php框架怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php框架yii,phpstorm laravel,phpstudy安装laravel框架,php框架怎么用,phpstudy安装laravel框架,phpstudy安装laravel框架,laravel入门与实战:构建主流php应用开发框架,php laravel框架 新手教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Laravel 的分页很方便,其实扩展起来也挺容易的,下面就来做个示例,扩展一下 paginate() 和 simplePaginate() 方法,来实现我们自定义分页样式,比如显示 "上一页" 和 "下一页" ,而不是 "《" 和 "》" ,当然扩展的方法掌握了你就可以肆无忌惮的扩展一个你想要的分页了,比如跳转到某一页,分页显示一共多少记录,当前显示的记录范围等等巴拉巴拉的。。。

5.1和5.2应该是同样的方法,我这里用的是5.2的版本。文档告诉我们 Paginator 对应于查询语句构造器和 Eloquent 的 simplePaginate 方法,而 LengthAwarePaginator 则等同于 paginate 方法。那我们还是来看下源码,具体这个 paginate 是如何实现 render() 的,

Illuminate/Pagination/LengthAwarePaginator.php

render() 中传入的是一个 Presenter 的实例,并调用这个实例化的 render 方法来实现分页的显示的。如果没有则调用 BootstrapThreePresenter 中 render() 的,来看看 BootstrapThreePresenter 是干嘛的

Illuminate/Pagination/BootstrapThreePresenter.php

这里可以看到 BootstrapThreePresenter 实现了 PresenterContract 的接口, render() 才是分页显示的真正实现,构造方法中的第一个参数 PaginatorContract 其实就是一个 Paginator 我们继续看下 PresenterContract 也就是 Presenter 接口中定义了什么方法需要实现

illuminate/contracts/Pagination/Presenter.php

其中定义了 render 和 hasPages 方法需要实现

好了,那我们现在已经很清晰了,我们要自定义分页的显示,那么就要写一个我们自己的 Presenter 来实现接口中的 render() 和 hasPages() 就可以了。

PHP框架Laravel插件Pagination实现自定义分页(php框架怎么用)

首先就来简单的实现一个paginate(),显示出来"上一页"和"下一页",中间是分页数字的例子。

新建文件如下(个人习惯)

app/Foundations/Pagination/CustomerPresenter.php

就这么简单,主要就是 render() 方法,如果项目中需要修改分页样式,或者添加分页跳转之类的需求只要重写其中的各项显示的方法中的html元素就可以了,很灵活,在blade模板中也需要修该,比如我们的 Paginator 叫 $users ,默认的分页显示是这样的:

{!! $users->render() !!}修改成我们自定义后的分页显示:

{!! with(new AppFoundationsPaginationCustomerPresenter($categories))->render() !!}好了,这样在页面应该就可以看到分页链接中含有 "上一页"和"下一页"加数字的样式了。

那么如果扩展simplePaginate&#;其实很简单,只要继承刚才的 CustomerPresenter ,实现 hasPages 和 render ,至于为什么可以按照我上面查看源码的方式看一下就知道了,比如我们改成"上一篇"和"下一篇"

新建AppFoundationsPaginationCustomerSimplePresenter.php

分页显示:

{!! with(new AppFoundationsPaginationCustomerSimplePresenter($categories))->render() !!}

方法就是这个方法,具体修改按照自己需求重写其中对应的显示html元素的方法就可以了。

转载请注明:转载自 Ryan是菜鸟 | LNMP技术栈笔记

标签: php框架怎么用

本文链接地址:https://www.jiuchutong.com/biancheng/295397.html 转载请保留说明!

上一篇:屏蔽PHP默认设置中的Notice警告的方法(php屏蔽错误)

下一篇:PHP+MySql+jQuery实现的"顶"和"踩"投票功能

  • 报税残疾人保障费怎么算
  • 小型微利企业的从业人数和资产总额
  • 应交个人所得税在借方是什么意思
  • 工业企业取得土地收益
  • 开房租租赁发票怎么记账
  • 开发票第一行
  • 开技术服务费发票怎么做账
  • 员工上班期间应穿
  • 股息红利是否纳入个税合并征税
  • 季度企业所得税计算公式
  • 库存品种
  • 土地无形资产摊销的会计处理
  • 外包代发工资怎么做账
  • 购房40%税款第二年抵扣如何做账
  • 结转待转销项税额
  • 小规模820如何填写申报表?
  • 哪些违约金可以退回
  • 报税提示您可能缺少相关组件怎么处理
  • 企业所得税申报表
  • windows11禁止自动更新
  • 腾讯电脑管家帮忙卸载
  • 会计的运费怎么写分录
  • 哪些凭证可以抵扣
  • 合并范围外关联方交易是否抵消
  • 押金少退侵犯了哪条法律
  • 水星mw300re说明书
  • 借条无还款时间怎么办
  • PHP:mb_http_input()的用法_mbstring函数
  • 苹果手机热点打不开是灰色的
  • 员工安置费标准出台
  • 酒店行业存货周转率多少合适
  • 运输发票税金怎么算
  • 比利时的平菇能吃吗
  • php中文出现乱码
  • php计算时间
  • 我国消费税的特点
  • 三联专用发票每一联分别给谁
  • 微信小程序基于什么技术
  • 结转出口退税分录
  • 代垫运费增值税计入销项税额吗
  • 帝国cms使用手册
  • 暂估入库算材料成本差异吗
  • 科技型中小企业有什么好处
  • 购买电脑固定资产折旧怎么算
  • 专设销售机构的办公费计入
  • 材料暂估入库的账务处理
  • 应付票据转应付账款分录
  • 违约方缴纳的履约金
  • 留抵税额在账上没有,怎么办
  • 金税盘忘记清卡了怎么办
  • 小企业会计准则以前年度损益调整
  • 新建企业应如何建账
  • 建账的基本步骤
  • sqlserver中存储过程
  • 勒索病毒2021
  • win7用固态
  • Win2000/2003 Broadcom 网卡 teaming 配置手册
  • mac怎么用bootcamp
  • macbookair断网
  • pcs system
  • windows7个性化菜单
  • win8热点设置
  • xp系统有什么用
  • 要使用windows
  • win10一年更新一次
  • 电脑xp系统备份
  • win10 系统优化
  • windows8如何分盘
  • js中的函数
  • 上传图片 js
  • 快速掌握日语词汇
  • unity游戏开发的技术路线有哪些
  • unity mode
  • jquery移动节点的方法
  • dos中创建文件
  • jquery获取自定义标签的值
  • Python中断言语句
  • Android IntentService解析
  • javascript要学到什么程度
  • 长春市医保社保什么时候年检
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设