我正在考虑将F3用于我的更多项目。我喜欢路由功能以及使用以下惯例生成动态路由的能力:
$f3->route('GET /@controller/@action', '@controller->@action');
我需要的一件事是seo友好的URL,所以我可以这样做:
/two-words/two-more-words
作为控制器/动作组合。我已经在代码中尝试了这个,并且在我看到的关于如何实现这个目标的例子中进行了搜索,但到目前为止,我还没有成功。基本上,URL中的破折号不会解析为路径中的类/方法(控制器/动作)组合。
有没有办法做到这一点,以便破折号被空字符替换或以其他方式来解决路线?
答案 0 :(得分:0)
如果您真的想要它,那么您可以使用lambda函数:
f3->route('GET /@controller/@action', function($f3,$params){
$class = str_replace('-','',$params['controller']);
$method= str_replace('-','',$params['action']);
$f3->call( $class.'->'.$method );
});