我想通过Composer安装以下插件和帮助器:
https://github.com/cakephp/debug_kit
https://github.com/loadsys/twitter-bootstrap-helper
这是我的composer.json:
{
"repositories": [
{
"type": "package",
"package": {
"name": "cakephp/debug_kit",
"version": "2.0",
"source": {
"url": "https://github.com/cakephp/debug_kit",
"type": "git",
"reference": "origin/2.0"
}
}
},
{
"type": "package",
"package": {
"name": "loadsys/twitter-bootstrap-helper",
"version": "2.1",
"source": {
"url": "https://github.com/loadsys/twitter-bootstrap-helper",
"type": "git",
"reference": "origin/2.1"
}
}
}
],
"require": {
"loadsys/twitter-bootstrap-helper": "2.1.*",
"cakephp/debug_kit": "2.0"
},
"config": {
"vendor-dir": "Vendor/"
},
"autoload": {
"psr-0": {
"DebugKit": "/cakephp/debug_kit/",
"TwitterBootstrap" : "/loadsys/twitter-bootstrap-helper"
}
}
}
安装成功:Vendor/cakephp/debug_kit和Vendor/loadsys/twitter-bootstrap-helper
我的问题在于如何在CakePHP中加载它们。我在我的bootstrap.php中有以下内容:
require APP . 'Vendor/autoload.php';
当我试图加载插件后要求自动加载:
CakePlugin::load('DebugKit');
找不到。在我的AppController.php中使用
加载helper也会得到类似的结果public $helpers = array('TiwtterBootstrap');
我是作曲家的新手,我可能错过了一些简单的东西,或者只是不掌握如何正确地从供应商文件夹加载它们。
你所做的一切都是正确的,你只需要添加一个额外的部分来指导作曲家在哪里安装你的插件。注意额外的"安装路径"部分,它需要指向你希望安装插件的相对路径。
{
"minimum-stability": "dev",
"config": {
"vendor-dir": "vendors"
},
"extra": {
"installer-paths": {
"app/Plugin/DebugKit": ["cakephp/debug_kit"],
}
},
"require" : {
"php": ">=5.4",
"cakephp/debug_kit": "2.2.*"
}
}
我今天早上匆忙在我的评论中,这是我添加到我的composer.json中的"extra"块:
"extra": {
"installer-paths": {
"Plugin/DebugKit": ["cakephp/debug_kit"],
"Plugin/TwitterBootstrap": ["loadsys/twitter-bootstrap-helper"]
}
删除我的编曲器。锁以便重新开始安装,仍然没有把文件放入Plugin文件夹。然而,即使我做到了这一点,我认为系统也有可能通过composer自动加载和Cake的一些魔法从Vendor文件夹中识别插件。这样,我就可以将整个vendor文件夹从项目的存储库中删除,并根据需要更新我的依赖项。
我最终解决了我的问题,只是通过系统链接到这些文件从插件文件夹,我的系统是识别插件。