Analyse des Umschreibens der Yaf-Routen im PHP-Framework

不言
Freigeben: 2023-03-31 09:12:01
Original
2097 Leute haben es durchsucht

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="#!"
Nach dem Login kopieren

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

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-Framework

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

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!