Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Schritte zum Generieren einer URL gemäß Routing-Regeln mithilfe der U-Methode in thinkphp

Detaillierte Erläuterung der Schritte zum Generieren einer URL gemäß Routing-Regeln mithilfe der U-Methode in thinkphp

php中世界最好的语言
php中世界最好的语言Original
2018-05-18 13:52:361640Durchsuche

Dieses Mal erkläre ich Ihnen ausführlich die Schritte zum Generieren von URLs gemäß Routing mithilfe der U-Methode in thinkphp. Was sind die Vorsichtsmaßnahmen für die Verwendung der U-Methode? in thinkphp, um URLs gemäß den Routing-Regeln zu generieren? Werfen wir einen Blick auf praktische Fälle.

lautet wie folgt:

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

tp Nach dem Einschalten des Routings wird bei Verwendung der U-Methode die URL nicht 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 heute aus Langeweile die U-Methode geändert, damit sie URLs gemäß den Routing-Regeln generieren kann, und es besteht keine Notwendigkeit, die Vorlage einzeln zu ä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:

So setzen Sie das Array in PHP auf einen kontinuierlichen numerischen Index zurück

Führen Sie das Array in PHP zusammen und behalten Sie es bei. Welche Methoden gibt es für Schlüsselwerte?

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zum Generieren einer URL gemäß Routing-Regeln mithilfe der U-Methode in thinkphp. 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