Home > Backend Development > PHP Tutorial > Router problem in php yaf framework

Router problem in php yaf framework

WBOY
Release: 2016-08-18 09:15:56
Original
1547 people have browsed it

<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>
Copy after login
Copy after login

Question 1: Is the first parameter of addRoute the name of the route added later?

Question 2: Yaf_Route_Regex('/([a-z]+).html$/', array('controller' => 'Index', 'action' => 'html'), array(1 => ' page')))
What do the three parameters represent? How to understand this route (that is, how to coordinate the three parameters)?

Question 3: Yaf_Route_Rewrite('security/:name/:rout', array('controller' => 'Security', 'action' => 'html')))
What do the three parameters represent (especially The first one is strongly confused.)? How to understand this route (that is, how to coordinate the three parameters)?

Reply content:

<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>
Copy after login
Copy after login

Question 1: Is the first parameter of addRoute the name of the route added later?

Question 2: Yaf_Route_Regex('/([a-z]+).html$/', array('controller' => 'Index', 'action' => 'html'), array(1 => ' page')))
What do the three parameters represent? How to understand this route (that is, how to coordinate the three parameters)?

Question 3: Yaf_Route_Rewrite('security/:name/:rout', array('controller' => 'Security', 'action' => 'html')))
What do the three parameters represent (especially The first one is strongly confused.)? How to understand this route (that is, how to coordinate the three parameters)?

I don’t use yaf, but I know a little bit about routing.

  • Parameter 1, matches the URI part in the request address. For example: http://www.baidu.com/mobile, ​​then this uri is mobile, which corresponds to the first parameter of the route you wrote.

  • Parameter 2 is an array, the value corresponding to controller is the controller, and action is the corresponding method.

  • Parameter 3, which is also an array, is the parameter brought by the request, for example, what page is the page, etc.

You can email Brother Niao, one of the core developers of the yaf framework.

Question 1

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

                $router->addRoute('dummy', $route);</code>
Copy after login

If you add it like this, the name doesn’t matter,

If added in ini

<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>
Copy after login

This requires reading the configuration and then initializing the route
In fact, its name can refer to the 5 ways of routing. simplle supervar static [default] map rewirte regex

Question 2 Question 3 I think you already know the answer

tips: If you ask Brother Bird this question, Brother Bird will give you a quotation from Brother Bird if he is in a good mood.

That’s strange. Didn’t you read the manual?

8.5. Detailed explanation of routing protocols

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template