【问题标题】:CakePHP 2.0 Plugin URLCakePHP 2.0 插件网址
【发布时间】:2011-08-13 20:15:12
【问题描述】:

试图让 CakePHP 与控制器、视图或模型的子文件夹一起工作并没有真正起作用,从我读过的内容来看,我需要使用“插件”。现在我有以下文件夹结构:

/app/Plugin/Manager/
    /Controller
        CandyController.php
    /Models
    /View
        /Candy
            viewCandy.ctp
    ManagerAppController.php
    ManagerAppModel.php

当我尝试将我的网址设置为:http://localhost/Manager/Candy/viewCandy/123。我收到错误消息:“ManagerController 不存在”。为什么 CakePHP 没有发现它应该在 Manager 插件文件夹中查找?

【问题讨论】:

  • 有趣的是答案。编辑 /app/config/routes.php 并添加以下行:CakePlugin::load(array('Manager'));
  • 是的,我还注意到 CakePHP 2.0 不会自动加载插件,而是允许您有选择地加载它们。您应该将此作为您自己问题的答案并接受它 - 您甚至可能获得“自学”徽章。

标签: cakephp plugins beta cakephp-2.0


【解决方案1】:

现在 2.0 已经发布,文档更加充实。这在Plugin section of the cookbook 中有描述。

他们建议把它放在 bootstrap.php 而不是 routes.php

CakePlugin::loadAll(); // Loads all plugins at once
CakePlugin::load('ContactManager'); //Loads a single plugin

【讨论】:

  • 切换答案。感谢您保持最新状态
【解决方案2】:

解决办法如下:

转到 /app/Config/routes.php 并在 CakePlugin::routes(); 行之后添加行 CakePlugin::load(array('YourPluginName'));。就我而言,它是第 40 行。

基本上,CakePHP 2.0 不会自动加载插件。我认为这很好而且很花哨,但实际上并没有任何文档。

【讨论】:

  • 插件应该加载到 Config/bootstrap.php 文件,而不是 Config/routes.php。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-29
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2014-01-14
  • 1970-01-01
相关资源
最近更新 更多