Maison >développement back-end >tutoriel php >Comment thinkphp génère des URL selon les règles de routage

Comment thinkphp génère des URL selon les règles de routage

php中世界最好的语言
php中世界最好的语言original
2018-03-24 17:00:251894parcourir

Cette fois, je vais vous montrer comment thinkphp génère des URL selon les règles de routage Quelles sont les précautions pour que thinkphp génère des URL selon les règles de routage ? jetez un oeil une fois.

est la suivante :

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

Une fois que tp a activé le routage, l'utilisation de la méthode U ne générera pas d'URL selon les règles de routage. Généralement, nous devons modifier manuellement le modèle, supprimer la méthode U et modifier manuellement le lien. Si le programme a déjà été écrit et que le routage est ajouté plus tard, il sera trop difficile de modifier le lien

Je l'ai modifié aujourd'hui parce que je m'ennuyais. Méthode U, laissez-le générer des URL selon les règles de routage, plus besoin de modifier le modèle un par un.

Ajoutez le code suivant au fichier /ThinkPHP/Common/functions.php, directement

recherchez if($suffix) dans la méthode U, ajoutez le code suivant devant, l'url généré par la méthode u est Il est généré selon les règles de routage !

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);
   }
  } 
 } 
}
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

La publication ne peut pas obtenir les données du formulaire

Téléchargement forcé des images de code QR

Comment faire fonctionner les fichiers de format en php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn