Heim > Backend-Entwicklung > PHP-Tutorial > Routerproblem im PHP-YAF-Framework

Routerproblem im PHP-YAF-Framework

WBOY
Freigeben: 2016-08-18 09:15:56
Original
1503 Leute haben es durchsucht

<code>    $router->addRoute('html', new Yaf_Route_Regex('/([a-z]+)\.html$/', array('controller' => 'Index', 'action' => 'html'), array(1 => 'page')));
    $router->addRoute('security', new Yaf_Route_Rewrite('security/:name/:rout', array('controller' => 'Security', 'action' => 'html')));
    $router->addRoute('trade', new Yaf_Route_Rewrite('trade/:name/:rout', array('controller' => 'Trade', 'action' => 'html')));
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Frage 1: Ist der erste Parameter von addRoute der Name der später hinzugefügten Route?

Frage 2: Yaf_Route_Regex('/([a-z] ).html$/', array('controller' => 'Index', 'action' => 'html'), array(1 => 'Seite')))
Was stellen die drei Parameter dar? Wie ist diese Route zu verstehen (d. h. wie werden die drei Parameter koordiniert)?

Frage 3: Yaf_Route_Rewrite('security/:name/:rout', array('controller' => 'Security', 'action' => 'html')))
Die drei Parameter repräsentieren jeweils Was (besonders das erste, ich drücke meine Verwirrung nachdrücklich aus...)? Wie ist diese Route zu verstehen (d. h. wie werden die drei Parameter koordiniert)?

Antwortinhalt:

<code>    $router->addRoute('html', new Yaf_Route_Regex('/([a-z]+)\.html$/', array('controller' => 'Index', 'action' => 'html'), array(1 => 'page')));
    $router->addRoute('security', new Yaf_Route_Rewrite('security/:name/:rout', array('controller' => 'Security', 'action' => 'html')));
    $router->addRoute('trade', new Yaf_Route_Rewrite('trade/:name/:rout', array('controller' => 'Trade', 'action' => 'html')));
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Frage 1: Ist der erste Parameter von addRoute der Name der später hinzugefügten Route?

Frage 2: Yaf_Route_Regex('/([a-z] ).html$/', array('controller' => 'Index', 'action' => 'html'), array(1 => 'Seite')))
Was stellen die drei Parameter dar? Wie ist diese Route zu verstehen (d. h. wie werden die drei Parameter koordiniert)?

Frage 3: Yaf_Route_Rewrite('security/:name/:rout', array('controller' => 'Security', 'action' => 'html')))
Die drei Parameter repräsentieren jeweils Was (besonders das erste, ich drücke meine Verwirrung nachdrücklich aus...)? Wie ist diese Route zu verstehen (d. h. wie werden die drei Parameter koordiniert)?

Ich verwende kein Yaf, aber ich weiß ein wenig über Routing.

  • Parameter 1 entspricht dem URI-Teil in der Anforderungsadresse. Beispiel: http://www.baidu.com/mobile, dann ist diese URI mobil, was dem ersten Parameter der Route entspricht, die Sie geschrieben haben.

  • Parameter 2 ist ein Array, der dem Controller entsprechende Wert ist der Controller und die Aktion ist die entsprechende Methode.

  • Parameter 3, der ebenfalls ein Array ist, ist der Parameter, den die Anfrage mitbringt, zum Beispiel, um welche Seite es sich handelt usw.

Sie können Bruder Niao, einem der Hauptentwickler des YAF-Frameworks, eine E-Mail senden.

Frage 1

<code> $route  = new Yaf_Route_Rewrite(
                        "/product/list/:id/",
                        array(
                                "controller" => "product",
                                "action"         => "info",
                        )
                );

                $router->addRoute('dummy', $route);</code>
Nach dem Login kopieren

Wenn Sie es so hinzufügen, spielt der Name keine Rolle,

Wenn Sie

in ini hinzufügen
<code>[routes]
routes.product.type='regex'
routes.product.match='#^/([0-9]+)[\/]?$#'
routes.product.route.module='Product'
routes.product.route.controller='product'
routes.product.route.action='show'
routes.product.map.1='pid'</code>
Nach dem Login kopieren

Dazu ist das Lesen der Konfiguration und das anschließende Initialisieren der Route erforderlich.
Tatsächlich kann sich der Name auf die 5 Routing-Wege beziehen. Einfache Supervar-Statik [Standard]-Map rewirte regex

Frage 2, Frage 3 Ich denke, Sie kennen die Antwort bereits

Tipps: Wenn Sie Brother Bird diese Frage stellen, gibt Ihnen Brother Bird ein Zitat von Brother Bird, wenn er gute Laune hat.

Das ist seltsam, hast du das Handbuch nicht gelesen?

8.5. Detaillierte Erläuterung der Routing-Protokolle

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