4

如何修改我的 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"

}

4

2 回答 2

8

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

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

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

于 2012-06-19T18:11:04.407 回答
5

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

这使得跟踪哪些代码是项目本身的一部分以及哪些代码在单独的存储库中维护变得容易。

因此,您不应该将来自单独存储库的包安装到您的 src 目录中。如果 Symfony 中的 Bundle 像许多核心框架 bundle 一样位于 vendor 目录中,它们就可以正常工作。

于 2012-06-19T19:23:03.453 回答