我想为 CakePHP 3.1.4 创建一个插件。文档很简单,但示例不起作用(http://book.cakephp.org/3.0/en/plugins.html#creating-your-own-plugins)
步骤是:
composer create-project --prefer-dist cakephp/app sampleapp
创建数据库。连接到数据库。创建一个表“联系人”。在目录中导航并运行:
bin/cake bake plugin ContactManager
创建控制器:
bin/cake bake controller --plugin ContactManager Contacts
重新生成自动装载机:
composer dumpautoload
将此行添加到 /config/bootstrap.php 文件中:
Plugin::load('ContactManager', ['routes' => true]);
但是现在,文档说
“如果你想访问我们到目前为止所做的事情,请访问 /contact-manager/contacts。你应该会收到“缺少模型”错误,因为我们还没有定义联系人模型。”
但这不起作用。相反,我得到一个错误:
缺少控制器。Cake\Routing\Exception\MissingControllerException。Cake\Routing\Dispatcher->dispatch ROOT/webroot/index.php,第 37 行错误:找不到 ContactManagerController。错误:在以下文件中创建类 ContactManagerController:src/Controller/ContactManagerController.php
这意味着无法加载插件,否则它不会建议这样做。在“包含”下打开 DebugKit 时,插件不在插件数组中。
我检查了 composer.json 文件,并且在两个插件中都正确列出了。烘焙命令运行没有错误。我用多个不同名称的新项目尝试了上述步骤。
这里有什么问题?非常感谢。