日期:2014-05-16  浏览次数:20518 次

fatfree-f3小型php框架教程(四)

这里还有一个重要的说明,

$f3->route('GET /','Main->home');
这是一个动态的函数调用,但是在调用home函数之前,f3会寻找一个叫做beforeRoute()的函数并且调用它,如果你定义了的话。然后调用home,然后走之前又会调用一个叫做afterRoute()的函数。而且如果你在同一个类中定义了好几个不同路由不同方法的好几个route的话,他们都是调用同一组before,afterroute的。


动态路由:

之前说过了用@定义的参数如@free是可以作为参数调用进入函数里面的,这里要说的是,路由同样也可以这样做。例如

$f3->route('GET /products/@action','Products->@action');

这样定义起来就很方便了,一条定义就解决了一堆定义。而且调用的时候只要把@action替换成对应的product类中的函数名,就可以直接动态调用该函数了。

接下来再看看静态的变量路由和框架常用定义

// static method
$f3->route('GET /public/@genre','Main::@genre');
// object mode
$f3->route('GET /public/@controller/@action','@controller->@action');

但是,如果你定义了参数又没有给参数赋值,系统就会跳出