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