CakePHP 高级路由
Posted
技术标签:
【中文标题】CakePHP 高级路由【英文标题】:CakePHP advanced routing 【发布时间】:2011-09-02 01:27:22 【问题描述】:如何创建这样的 URL(默认为英文):
对于类别控制器中的操作index
:
类别控制器中的操作view
:
【问题讨论】:
【参考方案1】:本文缺少的是Router::connect() 中提供的有用的persist
功能。
这会将语言参数添加到所有生成的 url。
示例路线:
Router::connect(
'/:language/:controller',
array(),
array('language' => '[a-z]2', 'persist' => array('language'))
);
Router::connect('/:language/:controller/:action/*', array(), array('language' => '[a-z]2', 'persist' => array('language')));
【讨论】:
【参考方案2】:这正是 Cakephp 中自定义路由的用途。您可以定义自己的路由器类来为您处理所有这些逻辑,并在通过调度程序运行之前缓解一切。我最近通过参考 Mark Story 本人的这篇博文,完成了您想要做的事情:http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp
【讨论】:
以上是关于CakePHP 高级路由的主要内容,如果未能解决你的问题,请参考以下文章