Die Beispiele in diesem Artikel beschreiben die Verwendung des Zend Framework-Routers. Die Details lauten wie folgt:
Routing ist ein Prozess, bei dem der Endpunkt des URI (der dem URI-Teil der Basis-URL folgt) entfernt und in Parameter zerlegt wird Entscheiden Sie, welches Modul, welcher Controller und welche Aktion die Anfrage annehmen soll.
Module, Controller, Aktionen und ihre Parameter werden in Zend_Controller_Request_Http-Objekte gepackt.
Verwendung des Routers
Um den Router richtig nutzen zu können, muss er initialisiert werden.
Das Erstellen eines Routers kann über die Methode getRouter() der Front-End-Controller-Instanz erfolgen. Diese Methode erfordert keine Parameter und die Ausführung dieser Methode kann ein Zend_Controller_Router_Rewrite-Objekt zurückgeben.
Nachdem Sie den Router erstellt haben, müssen Sie einige benutzerdefinierte Routen hinzufügen. Dieser Vorgang kann über die addRoute()-Methode des Zend_Controller_Router_Rewrite-Objekts erreicht werden.
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 Grundrouten
1. Standardroute
Definition: Die Standardroute ist ein einfaches Zend_Controller_Router_Route_Module-Objekt mit dem Namen „default“, das in RewriteRouter gespeichert ist.
2. Standard-Framework-Routing
Definition: Zend_Controller_Router_Route ist ein Standard-Framework-Routing.
Beispiel:
<?php //定义标准框架路由 $route = new Zend_Controller_Router_Route('author/:username', array( 'controller'=>'profile', 'action'=>'userinfo' )); //向路由器中添加定义的路由 $router->addRoute('user',$route);
Hinweis: Ich sagte, dass ich verwirrt war, das Protokoll nicht einfach zu codieren ist und ich nicht Ich verstehe es nicht gut.
3. Statisches Routing
Definition: Eine bestimmte Route wird so eingestellt, dass sie Zend_Controller_Router_Route_Static bildet.
Beispiel:
<?php //定义静态路由 $route = new Zend_Controller_Router_Route_Static( 'login', array( 'controller'=>'auth', 'action'=>'login' )); //向路由器中添加定义的路由 $router->addRoute('login',$route);
Die obige Route gleicht die URL von http://domain.com/login ab und sendet sie an In der AuthController::loginAction()-Methode.
4. Routing regulärer Ausdrücke
Zend_Controller_Router_Route_Regex
Fall:
<?php //正则表达式路由 $route = new Zend_Controller_Router_Route_Regex( 'archive/(\d+)', array( 'controller'=>'archive', 'action'=>'show' )); //向路由器中添加定义的路由 $router->addRoute('archive',$route);
Analyse:
Der dynamische Teil (Inhalt nach „/“) im ersten Parameter der Routendefinition für reguläre Ausdrücke ist keine Variable mehr, sondern ein reguläres Untermuster.
In diesem Beispiel wird nach erfolgreichem Abgleich von http://domain.com/archive/2008 das folgende Array von Ergebniswerten zurückgegeben.
$values = array( 1=>'2008', 'controller'=>'archive', 'action'=>'show' );
Nachtrag:
Ich sagte, es gäbe zu viele Konzepte und es sei sehr schwierig.
Ich hoffe, dass dieser Artikel für jedermann bei der PHP-Programmierung auf Basis des Zend Framework-Frameworks hilfreich sein wird.
Ausführlichere Beispiele für die Verwendung von Zend Framework-Routern und verwandte Artikel finden Sie auf der chinesischen PHP-Website!