博客專欄

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

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

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

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

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


如下所示:

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


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

今天無聊就修改了一下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);
   }
  } 
 } 
}


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

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

模擬信號相關(guān)文章:什么是模擬信號




關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉