Hi:
Yaf_Router::addRoute is not a static method.
you should do like:
$dispatcher->getRouter()->addRoute("regex", $route); //
http://www.php.net/manual/en/yaf-dispatcher.getrouter.php
btw: when you in development environ, it is useful to keep
error_reporting on and look at error_log when you get some problems :)
thanks
2011/11/30 Eduárd Moldovan <[email protected]>
> Hey Laruence,
>
> I have tried the below example, but did not really get it work.
> My code looks like this:
>
> public function _initRoute(Yaf_Dispatcher $dispatcher) {
>
> $route = new Yaf_Route_Regex (
> "#(.*)#",
> array(
> "controller" => "index",
> "action" => "index",
>
> ),
> array(
> 1 => "test",
> )
> );
>
> Yaf_Router::addRoute ('regex', $route);
> }
>
> Any ideas about what I am doing wrong?
>
> Thx,
> edi
>
> 2011/11/28 Laruence <[email protected]>
>
>> HI:
>> Yaf designd a route statck to proviods the ability for extends route
>> process.
>>
>> you can add new route into stack by calling
>> Yaf_Router::addRoute(or addConfig),
>>
>> when a request coming , Yaf will call the top route in the stack at
>> the first time, as pseudo codes like:
>>
>> while ($route = pop($stack)) {
>> if ($route->route($request) == TRUE) {
>> return FINISH.
>> }
>> }
>>
>>
>> there are two routes defined by Yaf are always return TRUE, that
>> are Yaf_Route_Simple and Yaf_Route_Static.
>>
>> so according your question, the easiest way is reigster a
>> Yaf_Route_Simple route with no-sence parameters, then all the request
>> will be routed to default controller and default action.
>>
>>
>> and also you can use Yaf_Route_Regex, it is the most felixible
>> route in Yaf:
>> http://www.php.net/manual/en/yaf-route-rewrite.construct.php
>>
>> the first argument for Yaf_Route_Regex::__construct is used to match
>> a uri, if the uri doesn't match this value, then the Yaf_Route_Regex
>> will don't route this request, just simple return FALSE, so we
>> can register a Regex route at the Bootstrap like:
>>
>>
>> public function _initRoute(Yaf_Dispatcher $dispatcher) {
>> $route = new Yaf_Route_Regex (
>> "#(.*)#",
>> array(
>> "controller" => "product",
>> "action" => "info",
>> ),
>> array(
>> 1 => "test",
>> )
>> );
>> $router->addRoute('regex', $route);
>> }
>>
>> see the code above, we set the first argument to Yaf_Route_Regex a
>> value : "#(.*)#", which means this route will match any request-uri.
>>
>> then we can assign any controller/action pair for this route
>> result in the second argument.
>>
>> the last argument means, the first captrue in the regex pattern
>> will be named "test" in the $request::_$params, that is you can access
>> this value by calling $request->getParam("test").
>>
>>
>> I have updates some new docs at php.net, but it need a little time
>> to show up. and I will keep updating :)
>>
>> PS: I am going to cc this mail to php-generall list, then if any
>> other people have the sampe question, they will find this :)
>>
>> thanks very much for you interesting of Yaf :)
>>
>>
>> 2011/11/28 Moldován Eduárd <[email protected]>:
>> > Oh, I forgot something. An example of a complete application.ini and
>> ways to
>> > get the config values with YaF would be great!
>> > Thx ahead,
>> > edi
>> >
>> >
>> >
>> > 2011.11.27. dátummal, 14:49 időpontban Laruence <[email protected]>
>> írta:
>> >
>> > HI:
>> > I have update some new docs into Yaf doc(php.net), but it will
>> take a
>> > little time to show up.
>> > and sure, could you give me some specific questions? I will answer
>> you
>> > :)
>> > also, I will add some new examples soon :)
>> > thanks very much for your interesting of Yaf
>> > :)
>> > 2011/11/27 Moldován Eduárd <[email protected]>
>> >>
>> >> Hey there,
>> >>
>> >> I started working a bit with YaF, but it looks like the documentation
>> is
>> >> very rare. Could you tell me please where any documentation can be
>> found on
>> >> routing?
>> >> Any example maybe?
>> >> I would actually welcome any kind of documentation, on any part of YaF
>> >> (Except what I already found on php.net and code.google.com).
>> >>
>> >> Thx,
>> >> edi
>> >>
>> >> --
>> >> <logo.png> Moldován Eduárd
>> >> boxed.hu
>> >> [email protected]
>> >> +36 30 691 2 691
>> >> skype: edimoldovan
>> >
>> >
>> > --
>> > Laruence Xinchen Hui
>> > http://www.laruence.com/
>> >
>>
>>
>>
>> --
>> Laruence Xinchen Hui
>> http://www.laruence.com/
>>
>
>
>
> --
> *Moldován Eduárd*
>
> boxed.hu
> [email protected]
> +36 30 691 2 691
> skype: edimoldovan
>
>
--
Laruence Xinchen Hui
http://www.laruence.com/