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中世界最好的语言
Libérer: 2023-03-22 09:00:01
original
1870 Les gens l'ont consulté

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'=>[]//编写路由优化
Copier après la connexion

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);
   }
  } 
 } 
}
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal