CakePHP路由 - 作为动作的参数

时间:2012-05-04 10:55:43

标签: cakephp routing

我遇到了CakePHP路由问题,而且菜谱并没有真正帮助我。

我试图将参数作为动作的扩展路由。如果不为我的每个动作手动键入路线,我怎么能这样做呢?

例如:
“users / settings / general”到UsersController :: settings_general()
“users / settings / privacy”到UsersController :: settings_privacy()
等等

或者我应该检查设置操作中给出了哪个参数并从控制器中调用它?像这样的东西

<?php
..
$sub_action = $this->request->params[0]
$this->settings_$subaction();
?>

1 个答案:

答案 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