如何修改我的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"
}
答案 0 :(得分:6)
实际上,将供应商软件包安装到src目录并不是一个好主意,因为不应编辑供应商软件包,而且src目录适用于在开发过程中编辑的代码。
我想到的一个原因是你想要修改这些包。如果这是重点,你最好不要使用git子模块,因为composer只有单向流,这意味着更改只能来自供应商包的源,并且源上没有上游。
我在我的项目中使用git子模块,这些包不是项目特定的,因此驻留在他们自己的git存储库中,但在项目期间是积极开发的。
答案 1 :(得分:5)
PHP / Symfony项目的src目录通常仅用于该项目的代码。您作为依赖项安装的代码将进入供应商目录。
这样可以很容易地跟踪哪些代码是项目本身的一部分,以及哪些代码在一个单独的存储库中维护。
因此,您不应将来自单独存储库的软件包安装到您的src目录中。如果它们位于供应商目录中,就像许多核心框架包一样,Symfony中的捆绑包工作得很好。