修正Thinkphp 3.2 分页Page类以支持URL路由

修正Thinkphp 3.2 分页Page类以支持URL路由

http://www.thinkphp.cn/topic/22114.html

最终目的实现以http://www.fl900.com/product/lists/1-0-0-1.html这样的URL形式且支持分页。
路由配置:

'/^product\/lists\/(\d+)-(\d+)-(\d+)-(\d+)$/'  => 'Product/lists?id=:1&aid=:2&sid=:3&p=:4',

修正Library\Think\Page.class.php分类以支持路由

    //在23行,修改访问修饰符private为public
    public $url='';
    //在70行,防止经过传参后会出现问题urlencode('[PAGE]')转为小写,修改为
    $this->url = str_replace(strtolower(urlencode('[PAGE]')), $page, $this->url);//开启URL不区分大小写时处理
    return str_replace(urlencode('[PAGE]'), $page, $this->url);
    //在80行,修正为以下实现自定义URL
    /* 生成URL */
            if(empty($this->url)){
                $this->parameter[$this->p] = '[PAGE]';
                $this->url = U(ACTION_NAME, $this->parameter);
            }
    //使用示例
    $Page       = new \Think\Page($count,15);// 实例化分页类 传入总记录数和每页显示的记录数(25)
    $page_tpl = urlencode('[PAGE]'); 
    $Page->url   =   U("Product/list/{
   $this->id}-{
   $this->aid}-{
   $this->sid}-{
   $page_tpl}");
    $show       = $Page->show();

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112868.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • KNative_buenas

    KNative_buenasKnative 简介

    2022年4月20日
    38
  • springboot启动流程详解_网页解析的详细过程

    springboot启动流程详解_网页解析的详细过程SpringBoot启动流程和加载顺序,以及思考心得

    2022年8月21日
    7
  • SpringBoot – 加载配置文件的实现方式[通俗易懂]

    SpringBoot – 加载配置文件的实现方式[通俗易懂]1、简介在实际的项目开发过程中,我们经常需要将某些变量从代码里面抽离出来,放在配置文件里面,以便更加统一、灵活的管理服务配置信息。比如,数据库、eureka、zookeeper、redis、mq、kafka等服务组件的连接参数配置,还有我们自定义的项目参数配置变量。当然,实际上根据当前的业务需求,我们往往会自定义参数,然后注入到代码里面去,以便灵活使用!今天,我们就一起来聊一聊SpringBoot加载配置文件的几种玩法,如果有遗漏,欢迎留言!SpringBoot项目在启用时:首先会默

    2025年11月29日
    8
  • 四足机械狗

    四足机械狗机械狗目录机械狗写在前面计划1搭建模拟环境1.1先模拟条简单的狗腿(two-link)1.1.1ForwardKinematics1.1.2InverseKinematics1.1.3ForwardDynamics1.1.4InverseDynamics1.2模拟个复杂点的狗腿(three/four-link)1.3搭个全身1.4加入Contactmodelling1.5合到一起2控制器设计2.1PDcontroll2.2Impedance/forcecontr

    2022年6月5日
    48
  • 文件锁的使用浅析_文件加密软件

    文件锁的使用浅析_文件加密软件概述在多数unix系统中,当多个进程/线程同时编辑一个文件时,该文件的最后状态取决于最后一个写该文件的进程。对于有些应用程序,如数据库,各个进程需要保证它正在单独地写一个文件。这时就要用到文件锁。文件锁(也叫记录锁)的作用是,当一个进程读写文件的某部分时,其他进程就无法修改同一文件区域。能够实现文件锁的函数主要有2个:flock和fcntl。早期的伯克利版本只支持flock,该…

    2022年4月19日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号