Les exemples de cet article décrivent l'utilisation du routeur Zend Framework. En le partageant avec vous pour votre référence, les détails sont les suivants :
Le routage est un processus dans lequel il supprime le point final de l'URI (après la partie URI de l'URL de base) et le divise en paramètres pour décider quel module, quel contrôleur et quelle action doit accepter la demande.
Les modules, contrôleurs, actions et leurs paramètres sont regroupés dans des objets Zend_Controller_Request_Http.
Utilisation du routeur
Afin d'utiliser correctement le routeur, il doit être initialisé.
La création d'un routeur peut être réalisée via la méthode getRouter() de l'instance du contrôleur frontal. Cette méthode ne nécessite aucun paramètre, et son exécution peut renvoyer un objet Zend_Controller_Router_Rewrite.
Après avoir créé le routeur, vous devez ajouter des routes définies par l'utilisateur. Cette opération peut être réalisée via la méthode addRoute() de l'objet Zend_Controller_Router_Rewrite.
Code :
<?php /** 演示创建路由器的过程 */ require_once 'Zend/Controller/Front.php'; //引用Zend_Controller_Front.php $ctrl = Zend_Controller_Front::getInstance(); //创建一个前端控制器 $router = $ctrl->getRouter(); //返回一个默认路由,前端控制器功能很强大啊 $router->addRoute('user',new Zend_Controller_Router_Route('user/:username',array('controller'=>'user','action'=>'info')));
4 itinéraires de base
1. Itinéraire par défaut
Définition : La route par défaut est un simple objet Zend_Controller_Router_Route_Module nommé 'default' stocké dans RewriteRouter.
2. Routage de framework standard
Définition : Zend_Controller_Router_Route est un routage de framework standard.
Exemple :
<?php //定义标准框架路由 $route = new Zend_Controller_Router_Route('author/:username', array( 'controller'=>'profile', 'action'=>'userinfo' )); //向路由器中添加定义的路由 $router->addRoute('user',$route);
Remarque : j'ai dit que j'étais confus, le journal n'est pas facile à coder, et je ne le fais pas Je ne comprends pas bien.
3. Routage statique
Définition : Une route spécifique est définie pour former Zend_Controller_Router_Route_Static.
Exemple :
<?php //定义静态路由 $route = new Zend_Controller_Router_Route_Static( 'login', array( 'controller'=>'auth', 'action'=>'login' )); //向路由器中添加定义的路由 $router->addRoute('login',$route);
L'itinéraire ci-dessus correspondra à l'URL de http://domain.com/login et l'enverra à Dans la méthode AuthController::loginAction().
4. Routage d'expressions régulières
Zend_Controller_Router_Route_Regex
Cas :
<?php //正则表达式路由 $route = new Zend_Controller_Router_Route_Regex( 'archive/(\d+)', array( 'controller'=>'archive', 'action'=>'show' )); //向路由器中添加定义的路由 $router->addRoute('archive',$route);
Analyse :
La partie dynamique (contenu après "/") dans le premier paramètre de la définition de route d'expression régulière n'est plus une variable, mais un sous-modèle régulier.
Dans cet exemple, après avoir réussi à faire correspondre http://domain.com/archive/2008, le tableau suivant de valeurs de résultat sera renvoyé.
$values = array( 1=>'2008', 'controller'=>'archive', 'action'=>'show' );
Post-scriptum :
J'ai dit qu'il y avait trop de concepts et que c'était très difficile.
J'espère que cet article sera utile à la programmation PHP de chacun basée sur le framework Zend Framework.
Pour des exemples plus détaillés d'utilisation du routeur Zend Framework et des articles connexes, veuillez prêter attention au site Web PHP chinois !