博客專欄

EEPW首頁 > 博客 > 扣丁學堂PHP在線教程之ThinkPHP中U方法按路由規(guī)則生成url的方法

扣丁學堂PHP在線教程之ThinkPHP中U方法按路由規(guī)則生成url的方法

發(fā)布人:扣丁學堂2 時間:2021-04-13 來源:工程師 發(fā)布文章

本篇文章扣丁學堂PHP培訓小編主要是給大家分享一下ThinkPHP中U方法按路由規(guī)則生成url的方法,這些ThinkPHP中U方法按路由規(guī)則生成url的方法在今后PHP開發(fā)工程師的工作中會經常用到,因此各位小伙伴們快隨小編一起來看一下吧。

扣丁學堂PHP在線教程之ThinkPHP中U方法按路由規(guī)則生成url的方法


如下所示:

//更改模塊配置文件
'URL_ROUTER_ON'   => true, 
'URL_ROUTE_RULES'=>[]//編寫路由優(yōu)化


tp開啟路由后,使用U方法是不會按路由規(guī)則生成url的,一般我們是要手動修改模版,把里面的U方法去掉,手動修改鏈接,如果是已經寫好的程序,后期才添加路由,修改起鏈接就太麻煩了

今天無聊就修改了一下U方法,讓它按路由規(guī)則生成url,再不用一條條修改模版了。


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

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);
   }
  } 
 } 
}


以上就是扣丁學堂PHP在線學習小編給大家分享的ThinkPHP中U方法按路由規(guī)則生成url的方法,希望對小伙伴們有所幫助,想要學習PHP開發(fā)的小伙伴可以選擇專業(yè)的PHP培訓機構扣丁學堂進行學習??鄱W堂不僅有專業(yè)的老師和與時俱進的課程體系,還有大量的PHP在線視頻供學員觀看學習,小伙伴們快快行動吧??鄱W堂PHP技術交流群:374332265。微信號:codingbb

*博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。

模擬信號相關文章:什么是模擬信號




關鍵詞:

相關推薦

技術專區(qū)

關閉