我注意到有些人提到了对控制器和模型的类似请求,但我一直找不到任何关于在子文件夹中排列插件的信息。
我想要。。。
/app
/Plugin
/Modules
/Form
/Controller
/Gallery
/Controller
/SomeStandardPlugin
/Controller
这样我就可以将所有CMS功能特定的插件分开。
我试过:
CakePlugin::load('Form');
CakePlugin::load('Modules/Form');
CakePlugin::load('../Plugin/Modules/Form');
无论我尝试上面的哪一个,当我尝试在其中一个插件中使用控制器时,它都会说:
Error: FormsController could not be found.
Error: Create the class FormsController below in file: app'Controller'FormsController.php
(如果我不想把它放在插件中,那就好了!)
《烹饪书》也没有提到任何关于它的内容——是它不受支持,还是我错过了什么?
仅供参考:我使用的是CakePHP v2.2.3
CakePlugin::load
的参数不是路径
此函数的第一个参数是插件的名称。这是加载插件的正确方法:
CakePlugin::load('Name');
但只有当插件存在于使用App::build 配置的位置时,它才会工作
因此,要将插件组织到子文件夹中,有必要声明包含插件的所有路径:
// append app/Plugin/Modules to the path to look for plugins
App::build(array(
'Plugin' => array(
APP . 'Plugin/Modules'
)
));