Maison >php教程 >PHP开发 >Yii Framework Analysis (8) - Composant de gestion d'URL

Yii Framework Analysis (8) - Composant de gestion d'URL

黄舟
黄舟original
2016-12-27 11:25:301299parcourir

Le composant de gestion d'URL fournit principalement 2 fonctions :
1. Selon l'URL saisie par l'utilisateur, analyser l'itinéraire de traitement de cette demande - quelle action de quel contrôleur la gère, et en même temps ajouter le composant de gestion d'URL. partie de paramètre dans l'URL vers le paramètre $_GET. Dans chaque framework Web, un tel composant est nécessaire pour effectuer le travail de distribution de routes.
2. Créez une URL basée sur le tableau d'itinéraire et de paramètres. L'URL peut être codée en dur dans la couche d'affichage, c'est-à-dire que l'adresse URL est écrite directement, mais cela manque souvent de flexibilité et entraîne des coûts de maintenance ultérieure.

array(
    'components'=>array(
        'urlFormat'=>'path',
        'rules'=>array(
            &#39;/art/<cate:\w+>/<key:\d+>/<id:\d+>/<p:\d+>&#39;=>&#39;article/<cate>/<key>&#39;,
            &#39;post/<id:\d+>/<title:.*?>&#39;=>&#39;post/view&#39;,
            &#39;<controller:\w+>/&#39;=>&#39;<controller>/&#39;,
         ),
    ),
);</action></controller></action:\w+></controller:\w+></title:.*?></id:\d+></key></cate></p:\d+></id:\d+></key:\d+></cate:\w+>

Ce qui précède est la configuration d'un composant de gestion d'url, avec un total de 3 règles. La figure ci-dessous prend la première règle comme exemple pour illustrer les deux fonctions d'analyse d'URL et de création d'URL. Pour chaque règle de routage, CUrlManager va créer un objet CUrlRule pour gérer les deux fonctions correspondant à cette règle, donc s'il y a plusieurs règles, il y aura plusieurs objets CUrlRule. CUrlRule est donc au cœur de la gestion des URL. Analysons le principe de fonctionnement de CUrlRule.

Yii Framework Analysis (8) - Composant de gestion dURL

Chaque règle de routage d'url est traitée par un objet CUrlRule. Ensuite, prenons la règle de routage suivante comme exemple : '/art////'=>'article. //', décrit le processus de traitement d'analyse d'URL et de création d'URL. Le processus de traitement des URL par chaque objet CUrlRule peut être divisé en 3 étapes :
1. Initialisation de l'objet CUrlRule
Dans le constructeur de l'objet CUrlRule, 6 variables membres importantes seront initialisées :

Yii Framework Analysis (8) - Composant de gestion dURL

2. Analyser l'url
Le travail d'analyse de l'url est divisé en trois étapes : a. Analyser chaque champ de l'url selon les règles du modèle b. dans l'itinéraire selon les références. ;c. Ajoutez les champs spécifiés dans params au tableau $_GET
3. Créer l'url
Le travail de création de l'url est divisé en trois étapes : a. analyser chaque champ de la route d'entrée b , fusionner le tableau de paramètres d'entrée et le tableau analysé à l'étape précédente c.

Yii Framework Analysis (8) - Composant de gestion dURL

Ce qui précède est le contenu de l'analyse du framework Yii (8) - Composant de gestion d'URL Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php. cn) !


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