我有一个插件(FirstPlugin
)。
该插件从其引导程序加载第二个插件(SecondPlugin
),它们都可以正常工作。
现在我正在为FirstPlugin
编写测试,我需要将SecondPlugin
加载到测试中。
所以在测试的引导程序(FirstPlugin/tests/bootstrap.php
)中我只需要主引导程序(FirstPlugin/config/bootstrap.php
):
require ROOT . 'config' . DS . 'bootstrap.php';
我这样做是因为我还需要其他引导代码(常量,缓存设置等)。
这不起作用,我无法理解这是什么问题。
注意我已经修改了composer.json
的{{1}}:
FirstPlugin
并且"autoload": {
"psr-4": {
"FirstPlugin\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"FirstPlugin\\Test\\": "tests",
"SecondPlugin\\": "vendor/second-plugin-path/src"
}
},
通过编辑器安装并位于SecondPlugin
。
修改
抛出异常:
http://api.cakephp.org/3.2/source-class-Cake.Core.Plugin.html#149
这意味着vendor/
为空。
我认为这个问题是: http://api.cakephp.org/3.2/source-class-Cake.Core.Plugin.html#134
也许在测试的bootstrap中我必须手动设置配置值?
答案 0 :(得分:0)
Solved.
Missing file vendor/cakephp-plugins.php
.
I noticed that this file is not created for the plugin, but only for the app. Strange.