如何在/ src目录中安装composer包?

时间:2012-06-19 16:26:29

标签: php symfony composer-php

如何修改我的composer.json直接安装到src-dir(Symfony / src)?

{
"name": "acme/example-bundle",
"type": "symfony-bundle",
"license": "MIT",
"require": {
    "php": ">=5.3.2",
    "symfony/framework-bundle": "2.1.*"
},
"suggest": {
    "doctrine/doctrine-bundle": "*"
},
"autoload": {
    "psr-0": { "Acme": "src/" }
},
"target-dir": "../../src/Acme/ExampleBundle"

}

2 个答案:

答案 0 :(得分:6)

实际上,将供应商软件包安装到src目录并不是一个好主意,因为不应编辑供应商软件包,而且src目录适用于在开发过程中编辑的代码。

我想到的一个原因是你想要修改这些包。如果这是重点,你最好不要使用git子模块,因为composer只有单向流,这意味着更改只能来自供应商包的源,并且源上没有上游。

我在我的项目中使用git子模块,这些包不是项目特定的,因此驻留在他们自己的git存储库中,但在项目期间是积极开发的。

答案 1 :(得分:5)

PHP / Symfony项目的src目录通常仅用于该项目的代码。您作为依赖项安装的代码将进入供应商目录。

这样可以很容易地跟踪哪些代码是项目本身的一部分,以及哪些代码在一个单独的存储库中维护。

因此,您不应将来自单独存储库的软件包安装到您的src目录中。如果它们位于供应商目录中,就像许多核心框架包一样,Symfony中的捆绑包工作得很好。