【问题标题】:Organize controllers in sub-folders在子文件夹中组织控制器
【发布时间】:2012-12-28 08:32:00
【问题描述】:

如何在子目录中组织/app/controllers 下的控制器 CakePHP 中的文件夹?我想在控制器文件夹中创建一个类似admin 的文件夹,并且我想创建一些与管理员相关的控制器。如果可能的话,我怎么能从子文件夹中调用控制器呢?

【问题讨论】:

  • 您的管理操作不应该属于您应用的主控制器吗?您可以使用路由前缀(在 app/Config/core.php 中设置)为路由添加“管理员”前缀,这也有助于确保管理员操作在控制器中易于识别。

标签: php cakephp


【解决方案1】:

您不能“就那样”更改 CakePHP 文件结构。要实现这一点,需要对核心进行认真的修改,但几乎没有充分的理由这样做。如果您正确遵循命名约定,那么所有内容都应该很容易找到。

您可以做的(仍然遵循约定并且接近您正在寻找的内容)是为所有与管理相关的任务创建一个plugin,然后您可以将所有这些逻辑放在app/Plugin/plugin_name/Controller 下。这样它就有了自己的位置,尽管您需要从主应用程序加载插件才能使其工作。

【讨论】:

  • 感谢您的回答。但我只想将与我的管理部分相关的所有控制器绑定到一个单独的子文件夹中。
【解决方案2】:

您可以使用App::build() 让 CakePHP 知道其他包/配置。

App::build(array(
    'Controller' => array('/path/to/controllers', '/next/path/to/controllers')
));

【讨论】:

    【解决方案3】:

    您需要重新考虑您的应用程序结构。 Cake 内置了一个名为 prefix routing 的东西,您可能应该使用它。

    这在 1.x 中也可用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多