我从/plugins/pluginname directory to /vendor/myname
/ pluginname
我称之为插件控制器的网址是
在从第一个目录移动到另一个目录之前,插件正在按预期工作。我将插件移动到新目录,使其可以重用于其他蛋糕PHP应用程序。
插件由作曲家安装。
为什么我有消息
"错误:找不到控制器类索引。"。所有控制器 从插件在应用程序上不可见,抛出相同的错误。错误是 从文件的第79行抛出 \厂商\ cakephp的\ cakephp的\ SRC \路由\ Dispatcher.php
在主bootstrap.php文件中,我把这行:
Plugin::load('MyName/PluginName', ['bootstrap' => false, 'routes' => true]);
为什么在我的情况下,供应商目录中的插件不起作用?
答案 0 :(得分:0)
如果Composer安装了插件,请不要移动它。
是否安装在插件或供应商文件夹中是由插件的作者决定的。
如果您需要在引导程序中完全加载插件,只需使用
即可Plugin::load('PluginName', ['bootstrap' => false, 'routes' => true]);
请参阅http://book.cakephp.org/3.0/en/plugins.html#plugin-configuration
无论Composer是将它放在供应商还是插件文件夹,它都能正常工作。
最重要的是,请将其保留在作者想要的文件夹中。
最后,检查一下你的插件是否适合CakePHP 3.x
至于url,你应该使用/ plugin-name / controller / action
请参阅http://book.cakephp.org/3.0/en/plugins.html#plugin-controllers并引用
如果您想访问我们到目前为止所访问的内容,请访问/ contact-manager / contacts
答案 1 :(得分:0)
您可以尝试将autoload变量设置为true。在bootstrap.php中添加以下代码,清除缓存然后检查。
Plugin::load('PluginName', ['autoload' => true]);