【发布时间】:2016-04-01 09:57:26
【问题描述】:
我将开发一个 CakePHP 2 插件,它依赖于 composer 包。该软件包安装在“APP/Vendor”目录中。我的插件在“APP/Plugin”中。
我应该把App::import('Vendor', array('file' => 'autoload')); 放在我的插件文件中吗?
【问题讨论】:
标签: cakephp composer-php cakephp-2.0
我将开发一个 CakePHP 2 插件,它依赖于 composer 包。该软件包安装在“APP/Vendor”目录中。我的插件在“APP/Plugin”中。
我应该把App::import('Vendor', array('file' => 'autoload')); 放在我的插件文件中吗?
【问题讨论】:
标签: cakephp composer-php cakephp-2.0
如果app/Vendor中的包是用composer安装的,自动加载应该注意
require APP . 'Vendor/autoload.php';
在你的app/Config/bootstrap.php。
但是,如果它被下载并复制到/app/Vendor,您应该手动导入它:
App::import('Vendor', 'packageFolder/filename');
这同样适用于插件。如果你在Plugin/PluginName/composer.json中声明你的依赖,在"require":中,这些将与你的插件一起安装,并添加到app/Vendor/autoload.php,所以不需要手动导入。
如果包被下载到/app/Plugin/PluginName/Vendor/,你必须通过加载它
App::import('Vendor', 'PluginName.packageFolder/filename');
【讨论】: