我正在考虑在我的更多项目中使用F3。我喜欢路由特性和生成动态路由的能力,以便与以下约定一起使用:
$f3->route('GET /@controller/@action', '@controller->@action');
我需要的一件事是seo友好的URL,这样我就可以做这样的事情:
/two-words/two-more-words
作为控制器/动作组合。我已经在代码中尝试过这一点,并尽可能地搜索了关于如何实现这一目标的示例,但到目前为止,我一直没有成功。基本上,url中的破折号不会解析到路由中的类/方法(控制器/动作)组合。
是否有一种方法可以让破折号被空字符替换,或者用其他方法来解析路由呢?
发布于 2014-08-26 10:34:33
好吧,如果您真的想这样做,您可以使用lambda函数来实现这个功能:
f3->route('GET /@controller/@action', function($f3,$params){
$class = str_replace('-','',$params['controller']);
$method= str_replace('-','',$params['action']);
$f3->call( $class.'->'.$method );
});
https://stackoverflow.com/questions/25488814
复制相似问题