Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Framework Yaf Route Rewriting_php Beispiel ausführliche Erklärung

PHP-Framework Yaf Route Rewriting_php Beispiel ausführliche Erklärung

墨辰丷
墨辰丷Original
2018-05-21 13:40:141397Durchsuche

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(&#39;dummy&#39;, $route);
  }
?>

Methode 2: Direkt im Programm im Array-Modus konfigurieren

Die Die folgenden Funktionen werden in Bootstrap.php platziert Empfehlungen:

Installation in PHP7.1

yaf

Detaillierte Erläuterung der Erweiterungsschritte

Yaf-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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn