Dieser Artikel stellt hauptsächlich die detaillierte Erklärung des Yaf-Routing-Umschreibens im PHP-Framework vor. Ich werde ihn jetzt mit Ihnen teilen und als Referenz geben.
Normalerweise wird die Site-URL für ein benutzerfreundliches URL-Format umgeschrieben. Sie können es in der Konfiguration des Webservers (Nginx) umschreiben, oder Sie können es auf der Programmseite tun
Die Folgendes verwendet das Yaf-Framework. Schreiben Sie die URL neu und organisieren Sie sie, damit sie in Zukunft einfacher angezeigt werden kann.
Die URL-Umschreibemethoden von YAF umfassen hauptsächlich Folgendes, das in Kombination verwendet werden kann
Methode 1 : in Nachdem Sie
;a rewrite route match request /product/*/* routes.route_name.type="rewrite" routes.route_name.match="/product/:name/:value" routes.route_name.route.controller=product routes.route_name.route.action=info ;a regex route match request /list/*/* routes.route_name1.type="regex" routes.route_name1.match="#^list/([^/]*)/([^/]*)#" routes.route_name1.route.controller=Index routes.route_name1.route.action=action routes.route_name1.map.1=name routes.route_name1.map.2=value ;a simple route match /**?c=controller&a=action&m=module routes.route_name2.type="simple" routes.route_name2.controller=c routes.route_name2.module=m routes.route_name2.action=a ;a simple router match /**?r=PATH_INFO routes.route_name3.type="supervar" routes.route_name3.varname=r ;a map route match any request to controller routes.route_name4.type="map" routes.route_name4.controllerPrefer=TRUE routes.route_namer.delimiter="#!"
in der Konfigurationsdatei ausgeführt haben, fügen Sie die Initialisierungsfunktion in Bootstrap.php hinzu. Der Funktionsname kann nach Ihren Wünschen gewählt werden muss mit _ beginnen, um aufgerufen zu werden
<?php class Bootstrap extends Yaf_Bootstrap_Abstract{ public function _initConfig() { $config = Yaf_Application::app()->getConfig(); Yaf_Registry::set("config", $config); } public function _initRoute(Yaf_Dispatcher $dispatcher) { $router = $dispatcher->getRouter(); /** * we can add some pre-defined routes in application.ini */ $router->addConfig(Yaf_Registry::get("config")->routes); /** * add a Rewrite route, then for a request uri: * http://***/product/list/22/foo * will be matched by this route, and result: * * [module] => * [controller] => product * [action] => info * [method] => GET * [params:protected] => Array * ( * [id] => 22 * [name] => foo * ) * */ $route = new Yaf_Route_Rewrite( "/product/list/:id/:name", array( "controller" => "product", "action" => "info", ) ); $router->addRoute('dummy', $route); } ?>
Methode 2: Direkt im Programm im Array-Modus konfigurieren
Die Die folgenden Funktionen werden in Bootstrap.php platziert Oben finden Sie den gesamten Inhalt dieses Artikels. Ich hoffe, dass er für alle hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!
Verwandte Empfehlungen:
Über unabhängige Konfiguration und dynamische Konfigurationsmethoden im thinkPHP5.0-FrameworkDas obige ist der detaillierte Inhalt vonAnalyse des Umschreibens der Yaf-Routen im PHP-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!