0

我的 CakePHP 路由有问题,而且食谱并没有真正帮助我。

我试图将参数路由为操作的扩展。如果不为我的每个操作手动输入路线,我怎么能做到这一点?

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

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

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

4

1 回答 1

0

如果不编写自定义路由类,我认为这是不可能的。阅读这篇文章如何使用和编写自己的路由类: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

于 2012-05-04T13:07:05.700 回答