【问题标题】:CakePHP Routing - params as actionsCakePHP 路由 - 参数作为动作
【发布时间】:2012-05-04 10:55:42
【问题描述】:

我的 CakePHP 路由有问题,而说明书并没有真正帮助我。

我正在尝试将参数路由为操作的扩展。如果不为我的每个操作手动输入路线,我该如何做到这一点?

例如:
“用户/设置/一般”到 UsersController::settings_general()
“用户/设置/隐私”到 UsersController::settings_privacy()
等等

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

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

【问题讨论】:

    标签: cakephp routing


    【解决方案1】:

    如果不编写自定义路由类,我认为这是不可能的。阅读这篇文章如何使用和编写自己的路由类:http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp

    我建议您只为每个操作声明一条直接路线。或者您会执行数千个这样的操作?

    您还可以尝试将所有用户/设置/* 路由到单个操作 UsersController::settings() 并在那里获取参数并调用 $this-&gt;setAction('settings' . $param); 请参阅 http://api20.cakephp.org/class/controller#method-ControllersetAction

    【讨论】:

    • 不,不会有成千上万个这样的操作,这只是烦人的 DRY 东西 :(
    猜你喜欢
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多