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 ディレクトリは開発プロセスで編集されるコード用であるためです。

私の頭に浮かぶ理由の 1 つは、これらのパッケージを変更したいということです。これがポイントである場合、composer には一方向のフローしかないため、git サブモジュールを使用しない方がよいでしょう。つまり、変更はベンダー パッケージのソースからのみ発生し、ソースへのアップストリームはありません。

私は、プロジェクト固有ではないプロジェクトのバンドルに git サブモジュールを使用しているため、独自の git リポジトリに存在しますが、プロジェクトで積極的に開発されています。

于 2012-06-19T18:11:04.407 に答える
5

PHP/Symfony プロジェクトの src ディレクトリは、通常、そのプロジェクトのコードにのみ使用されます。依存関係としてインストールするコードは、ベンダー ディレクトリに入ります。

これにより、どのコードがプロジェクト自体の一部であり、どのコードが別のリポジトリで維持されているかを簡単に追跡できます。

そのため、バンドルを別のリポジトリから src ディレクトリにインストールしないでください。Symfony のバンドルは、多くのコア フレームワーク バンドルと同様に vendor ディレクトリに配置されていれば問題なく動作します。

于 2012-06-19T19:23:03.453 に答える