我遇到了CakePHP路由问题,而且菜谱并没有真正帮助我。
我试图将参数作为动作的扩展路由。如果不为我的每个动作手动键入路线,我怎么能这样做呢?
例如:
“users / settings / general”到UsersController :: settings_general()
“users / settings / privacy”到UsersController :: settings_privacy()
等等
或者我应该检查设置操作中给出了哪个参数并从控制器中调用它?像这样的东西
<?php
..
$sub_action = $this->request->params[0]
$this->settings_$subaction();
?>
答案 0 :(得分:0)
如果没有编写自定义路由类,我认为这是不可能的。阅读本文如何使用和编写自己的路径classe:http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp
我建议你只为每个动作声明一条直接路线。或者你会有成千上万的这些行动?
您还可以尝试将所有用户/设置/ *路由到单个操作UsersController::settings()
并获取参数并致电$this->setAction('settings' . $param);
请参阅http://api20.cakephp.org/class/controller#method-ControllersetAction