• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    thinkphp中U方法按路由规则生成url的方法

    如下所示:

    //更改模块配置文件
    'URL_ROUTER_ON'   => true, 
    'URL_ROUTE_RULES'=>[]//编写路由优化

    tp开启路由后,使用U方法是不会按路由规则生成url的,一般我们是要手动修改模版,把里面的U方法去掉,手动修改链接,如果是已经写好的程序,后期才添加路由,修改起链接就太麻烦了

    今天无聊就修改了一下U方法,让它按路由规则生成url,再不用一条条修改模版了。

    下面代码添加到 /ThinkPHP/Common/functions.php 文件,在U方法里面直接搜索if($suffix),在前面加入以下代码,u方法生成的url就是按照路由规则生成的呢!

    if(C('URL_ROUTE_RULES')){
     foreach (C('URL_ROUTE_RULES') as $rule=>$real) {
      if(strpos($url, $real)!==false){
       $url = str_replace($real, $rule, $url);
       preg_match("/\/(\w+)\.php\/(\w+)/", $url, $match);
       if(isset($match[1])  isset($match[2])  $match[1][0]==$match[2][0]){
        $url = preg_replace("/\/(\w+)\.php/", '', $url);
       }elseif(strpos($url, 'index.php')!==false){
        $url = str_replace("/index.php", '', $url);
       }else{
        $url = str_replace(".php", '', $url);
       }
    
       preg_match_all("/(:\w+)/", $rule, $matches);
       foreach ((array)$matches[1] as $match) {
        $url = str_replace($match . '/', '', $url);
        $url = str_replace(substr($match, 1) . '/', '', $url);
       }
      } 
     } 
    }

    以上这篇thinkphp中U方法按路由规则生成url的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • thinkphp的URL路由规则与配置实例
    • thinkphp5 URL和路由的功能详解与实例
    • ThinkPHP路由详解
    • thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
    • ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
    • 改写ThinkPHP的U方法使其路由下分页正常
    • thinkPHP5.1框架路由::get、post请求简单用法示例
    • ThinkPHP路由机制简介
    • thinkPHP5框架路由常用知识点汇总
    • thinkphp5框架路由原理与用法详解
    • thinkphp框架实现路由重定义简化url访问地址的方法分析
    上一篇:浅谈PHP中pack、unpack的详细用法
    下一篇:PHP生成加减算法方式的验证码实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    thinkphp中U方法按路由规则生成url的方法 thinkphp,中,方法,按,路由,