31

アプリケーションに Phing と Composer の両方を使用したいと考えています。依存関係を管理するためのビルド システムおよび Composer としての Phing。しかし、どのように使用する必要がありますか?

現在、すべてのサーバーに Phing をグローバルにインストールしています。Phing は、さまざまなプロジェクトのビルドを完全に自動化することになっています。プロジェクトのコピーをチェックアウトし、デフォルトのターゲットで Phing を実行するだけで問題ありません。これは、Composer を呼び出してすべての依存関係をインストールする Phing ターゲットがそこにある必要があることも意味します。というわけで、Phing が Composer を呼び出します。しかし、私はこの設定について何も見つけることができませんでした。ComposerTask などはなく、グーグルで検索しても、そのように作業している人は見つかりません。

しかし、私はその逆を多く見ます。Composer を使用して Phing をプロジェクトの依存関係としてインストールする人々。

では、各方法の (欠点) 利点は何ですか? 私は間違った方法でそれをやろうとしていますか?

4

2 に答える 2

29

コンポーザーを介してphingをインストールする主な利点は、オープンソースプロジェクトの場合、ユーザーがphingをそのようにインストールしていることを確認するのが簡単なことだと思います。通常、これらの設定では、phingは、一部のライブラリが一部のタスクを実行するために使用するツールにすぎません。

もう1つの利点は、すべてのプロジェクトで異なるバージョンのphingを使用できることです。これは、システム全体のバージョンでは使用できません。

phingを使用してプロジェクトのビルド/セットアップ全体を管理する場合、そこからcomposerを呼び出すことは理にかなっているかもしれませんが、その逆も同様です。たとえば、コンポーザースクリプトを使用して、依存関係が更新されるたびにphingタスクを実行できます。そうすれば、プロジェクトのセットアップは次のようになります。

  • チェックアウト
  • 作曲家を実行します
  • 作曲家は、depsを更新/インストールした後にphingを実行します
  • プロジェクトが構築されます

正直なところ、正解があるかどうかわかりません。両方の方法を機能させることができますが、この方法を実行することで、少なくとも最初にphingをインストールする必要がなくなります。もちろん、代わりにcomposerをインストールする必要がありますが、間違いなくそれは簡単で、とにかく必要になります。

于 2012-05-31T08:24:54.737 に答える