Heim  >  Artikel  >  Backend-Entwicklung  >  Wie thinkphp URLs gemäß Routing-Regeln generiert

Wie thinkphp URLs gemäß Routing-Regeln generiert

php中世界最好的语言
php中世界最好的语言Original
2018-03-24 17:00:251856Durchsuche

Dieses Mal zeige ich Ihnen, wie thinkphp URLs gemäß den Routing-Regeln generiert. Welche Vorsichtsmaßnahmen gibt es, um URLs gemäß den Routing-Regeln zu generieren? Schauen Sie einmal vorbei.

lautet wie folgt:

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

Nachdem tp das Routing aktiviert hat, werden bei Verwendung der U-Methode keine URLs gemäß den Routing-Regeln generiert. Im Allgemeinen müssen wir die Vorlage manuell ändern, die U-Methode darin entfernen und den Link manuell ändern. Wenn das Programm bereits geschrieben wurde und die Route später hinzugefügt wird, ist es zu mühsam, den Link zu ändern

Ich habe es heute geändert, weil mir die U-Methode langweilig war. Lassen Sie es die URL gemäß den Routing-Regeln generieren und müssen Sie die Vorlage nicht mehr einzeln ändern.

Fügen Sie den folgenden Code zur Datei /ThinkPHP/Common/functions.php hinzu, suchen Sie direkt nach if($suffix) in der U-Methode, fügen Sie den folgenden Code voran, die URL Von der u-Methode generiert ist Es wird gemäß den Routing-Regeln generiert!

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

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.

Empfohlene Lektüre:

Post kann keine Formulardaten abrufen

Erzwungenes Herunterladen von QR-Code-Bildern

So bedienen Sie Formatdateien in PHP

Das obige ist der detaillierte Inhalt vonWie thinkphp URLs gemäß Routing-Regeln generiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn