我有一个 Symfony 2.3 项目,我想使用自定义供应商。我知道在 Symfony 2.1 和 2.2 版本中,您可以在deps
文件中声明供应商。
但是如何在 Symfony 2.3 项目中声明自定义供应商?有一个composer.json
文件,但我不太明白它是如何工作的。
编辑:
自定义供应商的代码位于 github 上。
我有一个 Symfony 2.3 项目,我想使用自定义供应商。我知道在 Symfony 2.1 和 2.2 版本中,您可以在deps
文件中声明供应商。
但是如何在 Symfony 2.3 项目中声明自定义供应商?有一个composer.json
文件,但我不太明白它是如何工作的。
编辑:
自定义供应商的代码位于 github 上。
composer.json
composer
通过工具(您应该已经安装)管理依赖项。它的行为类似于npm
您是否完全使用过它。
您可以通过多种方式包含自定义供应商 - 尽管要(自动)加载和拾取自定义供应商代码composer
需要有一个composer.json
文件。
如果自定义供应商已成功将其提交给packagegist,那么您的生活就很简单了,您可以搜索它并记下名称(<vendor>/<package>
格式为 .
打开您的composer.json
文件并在"require": {}
声明的末尾添加您的供应商。例如,如果我们的包被调用peterjmit/awesome-package
// ...
"require": {
// ...
"peterjmit/awesome-package": "*"
},
// ...
*
如果您愿意,可以将 替换为版本号。完成后,您可以运行composer update
命令来拉入新包。如果您只想更新新包,您可以使用composer update peterjmit/awesome-package
.
感谢作曲家自动加载器和PSR-0标准,包中的类是自动加载的,因此您无需执行其他“管道”操作。
如果自定义供应商不在 packagist 上,但确实有一个composer.json
文件,那么您可以为 composer 指定一个自定义存储库。你需要有require
和以前一样的语句,但是你需要添加一个新的语句composer.json
// ...
"require": {
// ...
"peterjmit/awesome-package": "*"
},
"repositories": [
{
"type": "vcs",
"url": "git@bitbucket.org:peterjmit/awesome-package.git"
},
// .. etc.
如果包没有,composer.json
那么你可以随时 fork 并添加你自己的。但是,如果代码不符合 PSR-0,那么您将不得不为包整理自己的自动加载策略。