Avec le développement rapide d’Internet, l’expérience des utilisateurs en matière d’utilisation des sites Web s’améliore de plus en plus. Parmi eux, la forme de l'URL est progressivement devenue un facteur important permettant aux utilisateurs de juger de la qualité du site Web. Pour l'embellissement des URL, le framework Yii fournit une variété de solutions de configuration de routage. Cet article se concentrera sur la configuration du routage dans le framework Yii et sur la manière d'implémenter l'embellissement des URL.
1. Bases de la configuration du routage
Le routage fait référence au mappage de l'adresse URL demandée à des contrôleurs et à des méthodes spécifiques pour réaliser un traitement spécifique de la demande. Dans le framework Yii, la configuration du routage s'effectue via le gestionnaire d'URL (UrlManager). Le gestionnaire d'URL se trouve dans le dossier config du fichier de configuration de l'application, comme suit :
'components' => [ 'urlManager' => [ 'class' => 'yiiwebUrlManager', 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ // ... ], ], ],
Parmi eux, enablePrettyUrl
indique s'il faut activer les URL embellies. Il est recommandé de le définir sur true</code. >; <code >showScriptName
indique s'il faut afficher le nom du fichier de script (tel que index.php) dans l'URL. Il est également recommandé de le définir sur false
pour éviter d'affecter la beauté. de l'URL. enablePrettyUrl
表示是否启用美化后的URL,建议设置为true
;showScriptName
表示在URL中是否显示脚本文件名(如index.php),也建议设置为false
,以免影响URL的美观度。
二、静态路由
静态路由是指可以将某个特定的URL地址直接映射到控制器和方法上。例如,我们可以将index.php?r=site/about
这样的URL地址静态化为about
,访问时直接输入http://yourdomain.com/about
即可。
在Yii框架中,实现静态路由的方法如下:
'rules' => [ 'about' => 'site/about', ],
这里的about
表示映射的URL地址,site/about
则表示具体的控制器和方法。
三、动态路由
动态路由是指将带有参数的URL地址映射到控制器和方法上,并通过参数传递数据。例如,我们可以将index.php?r=site/view&id=1
这样的URL地址动态化为view/1
,访问时直接输入http://yourdomain.com/view/1
即可。
在Yii框架中,实现动态路由的方法如下:
'rules' => [ 'view/<id:d+>' => 'site/view', ],
这里的view/<id:d+>
表示映射的URL地址,其中id
是参数名,d+
是匹配数字的正则表达式,site/view
则表示具体的控制器和方法。
四、高级路由
高级路由是对静态和动态路由的扩展,可以实现更加复杂的URL映射。例如,我们可以将index.php?r=user/profile
这样的URL地址转化为profile/username
,访问时直接输入http://yourdomain.com/profile/admin
即可。
在Yii框架中,实现高级路由的方法如下:
'rules' => [ [ 'class' => 'yiiwebUrlRule', 'pattern' => 'profile/<username:w+>', 'route' => 'user/profile', 'suffix' => '', ], ],
这里的'class' => 'yiiwebUrlRule'
表示我们采用的是高级路由,'pattern' => 'profile/<username:w+>'
表示URL地址的匹配规则,其中<username:w+>
表示参数名和正则表达式,'route' => 'user/profile'
表示具体的控制器和方法,'suffix' => ''
index.php?r=site/about
en about
, et saisir directement http://votredomaine lorsque accéder à. com/about
. Dans le framework Yii, la méthode pour implémenter le routage statique est la suivante : 🎜rrreee🎜about
représente ici l'adresse URL mappée, et site/about
représente le contrôleur spécifique et méthode. 🎜🎜3. Routage dynamique 🎜🎜Le routage dynamique fait référence au mappage d'adresses URL avec des paramètres sur des contrôleurs et des méthodes, et à la transmission de données via des paramètres. Par exemple, nous pouvons convertir dynamiquement une adresse URL telle que index.php?r=site/view&id=1
en view/1
, et saisir directement http lorsque accéder à : //votredomaine.com/view/1
C'est tout. 🎜🎜Dans le framework Yii, la méthode pour implémenter le routage dynamique est la suivante : 🎜rrreee🎜Le view/<id:d+>
représente ici l'adresse URL mappée, où id
est le nom du paramètre, d+
est une expression régulière correspondant aux nombres et site/view
représente le contrôleur et la méthode spécifiques. 🎜🎜4. Routage avancé 🎜🎜Le routage avancé est une extension du routage statique et dynamique, qui peut réaliser un mappage d'URL plus complexe. Par exemple, nous pouvons convertir une adresse URL telle que index.php?r=user/profile
en profile/username
, et saisir directement http://votredomaine lors de l'accès à .com/profile/admin
. 🎜🎜Dans le framework Yii, la méthode pour implémenter le routage avancé est la suivante : 🎜rrreee🎜Le 'class' => 'yiiwebUrlRule'
signifie ici que nous utilisons le routage avancé, ' pattern' = > 'profile/<username:w+>'
représente la règle de correspondance de l'adresse URL, où <username:w+>
représente le nom du paramètre et expression régulière, 'route' => 'user/profile'
représente des contrôleurs et des méthodes spécifiques, 'suffix' => ''
représente des caractères supplémentaires à la fin de l'adresse URL. 🎜🎜Résumé🎜🎜Grâce à l'introduction ci-dessus, nous pouvons comprendre les méthodes de base de configuration du routage dans le framework Yii et leurs différences. Cependant, lors de la configuration du routage, vous devez faire attention à la beauté et à la lisibilité de l'adresse URL, et également prendre de bonnes dispositions pour les contrôleurs et méthodes sous-jacents. Ce n'est qu'en parvenant à un équilibre entre les deux aspects que l'adresse URL du site Web peut être mieux mappée à des contrôleurs et méthodes spécifiques dans différents scénarios, améliorant ainsi l'expérience du site Web. 🎜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!