composer.json の vcs (つまり git ) リポジトリを作成して、すべての変更を常にチェックイン/コミットすることができます。
composer は json を使用し、comments json のネイティブ サポートがないため、composer.json を使用して、定期的にインストールするバンドルをコメント/コメント解除するだけにするのは少し難しくなります。
しかし、その目標を達成する方法は 2 つあります。
1) composer.json を .yml ファイルに逆方向に変換できるIgorW のcomposer-yamlコンバーターを使用します。
2) Seldaek / Jordi Boggianoは、composer.json でコメントを実装する別の方法について言及しました。
{
"_comment" : {
"friendsofsymfony/rest-bundle" : "0.12.0",
"_" : "_"
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "*@dev",
// ... more stuff here
},
// more stuff here
}
このようにして、行をコメントからrequireに移動するだけで、現在のインストールの内外にバンドルを簡単にコピーできます。( " _" : "_" エントリは、_comment 内のすべてのバンドルの後に末尾のコンマがあり、有効な JSON を保持するためにあります)。
...しかし、これだけではすぐに機能するプロジェクトが得られるわけではありません。
結論:
ほとんどのバンドルは設定が必要であり、機能するためには少なくともすべてをカーネルに登録する必要があります。
リポジトリに composer.json があるだけでは役に立ちません。
symfony/symfony-standard を fork できます ... 必要なすべての変更 (バンドルの登録、 composer.json の変更) をリポジトリに追加し、このリポジトリを維持します。
フォークされたリポジトリは最新のコミットで更新されないため、このリポジトリを維持するにはいくつかの作業が必要になります。リポジトリを最新の状態に保ちたい場合は、symfony/symfony-standard から最新のコミットをマージする必要があります。
しかし、独自のものを作成することは間違いなく進むべき道です...「composer install」を呼び出した後にすべての構成とバンドルを含む作業プロジェクトを作成するために渡すことができる composer.json のみを持つことは (現在) 不可能です。