1

我注意到有些人提到了对控制器和有时模型的类似要求,但我一直无法找到在子文件夹中安排插件的任何内容。

我想...

/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

(如果我不想在插件中使用它会很好!)

CookBook 也没有提到任何关于它的内容 - 它只是不受支持还是我遗漏了什么?

仅供参考:我正在使用 CakePHP v2.2.3

4

1 回答 1

1

for 的论点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'
     )
));
于 2013-07-29T14:26:17.280 回答