In diesem Artikel werden hauptsächlich detaillierte Beispiele für das PHP-Framework Yaf Routing_php vorgestellt. Ich hoffe, dass es für alle hilfreich ist.
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 die Konfigurationsdatei eingegeben 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 Empfehlungen:
Installation in PHP7.1yaf
Detaillierte Erläuterung der ErweiterungsschritteYaf-Framework-Installationsanleitung
PHP7.1-Installationsmethode der yaf-Erweiterung
Das obige ist der detaillierte Inhalt vonPHP-Framework Yaf Route Rewriting_php Beispiel ausführliche Erklärung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!