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

Routerproblem im PHP-YAF-Framework

WBOY
WBOYOriginal
2016-08-18 09:15:561501Durchsuche

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

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>

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>

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>

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

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