2013-02-27 10 views

答えて

5

Zend Framework 2プロジェクトは通常、様々なモジュールがインストールされた軽量のスケルトンアプリケーションで、通常は別々の専用リポジトリにあります。

主リポジトリは多くの変更の影響を受けませんので、gitリポジトリ(fork of ZendSkeletonApplication)を作成することができます。モジュールはより関連性があり、注意が必要ですが、スケルトンアプリケーションは通常、数ヶ月にわたる2つの詳細でのみ変更されます。

私は、次のアプローチを提案することができます

  1. があなたのスケルトンアプリケーションフォークのmodules/ディレクトリにgit submodulesとして、アプリケーション固有のモジュールの最初のバージョンを作成します。
  2. は、元のリポジトリにコミットし、ルートリポジトリ内のgitサブモジュール参照を更新するだけで、推奨される方法でモジュール上で動作します。
  3. 正常に動作しているバージョン(一般的にはcomposerとzf2の信頼性がある)を取得したら、composer.jsonファイルを追加してコンポーザーパッケージに変換できます。
  4. 変換されたzf2モジュールのgitサブモジュールを削除し、代わりにuse composer to import itを削除してください。これを行うには、リポジトリの場所をコンポーザに伝えるだけです。これにより、既存のコンポーネントを再利用するのに役立ち、任意のアプリケーションで数秒でモジュールをインストールできるようになります。異なるプロジェクトのために書いたコードを再利用することは今からとても簡単になります。
  5. タグと徐々に(あなた自身のprivate composer packages ecosystemを持って開始しますので)これは私が個人的にそれを行う方法であり、それはとても素敵な開発プロセスになっている

をあなたのパッケージの依存関係とバージョンを安定させます。機能が共有されるたびに、新しいパッケージに移動し、モジュール内のcomposer.jsonを更新するだけです。 Satisは残りの部分を処理し、私たちのライブシステムはすべてアップグレードするのが非常に高速です。

よく知っている方は、advanced techniques and tips and tricks about composerをもう一度お読みください。

+0

ありがとうございました! [Frameworkフォルダ](https://github.com/zendframework/zf2)をプロジェクトにどのように組み込むのですか?現在のところ、私のプロジェクトレポのサブフォルダです。それはサブモジュールでしょうか? – automatix

+0

@automatixフレームワークはコンポーザー経由でもインストールされています。スケルトンアプリケーションをクローン化した場合は、 'php composer.phar install'を実行するだけです:) – Ocramius

+0

あなたは正しいです。 :)このtopticへの最後の質問:さらなるライブラリが(/ vendor /に)追加されても、それはコンポーザーでも正しく管理できますか?ライブラリを管理する他の方法はありますか? – automatix

関連する問題