Composer は、新世代の PHP 依存関係管理ツールです。その概要と基本的な使用方法については、この記事「PHP 依存関係管理ツール Composer のインストールと使用方法」を参照してください。この記事では、PHP 開発の利便性を高めるために、Composer を使用するための 5 つのヒントを紹介します。
1. 単一のライブラリのみを更新します
特定のライブラリのみを更新し、そのすべての依存関係を更新したくない場合は、非常に簡単です:
さらに、このトリックは「警告メッセージの問題」を解決するためにも使用できます。次のような警告メッセージを見たことがあるはずです:
くそー、何がいけなかったの?慌てないで! Composer.json を編集すると、次のように表示されるはずです。たとえば、ライブラリの説明、作成者、その他のパラメータ、または単なるスペースなどの詳細を追加または更新すると、ファイルの md5sum が変更されます。その後、Composer はハッシュ値がcomposer.lock に記録されているものと異なることを警告します。
それではどうすればいいでしょうか? update コマンドはロック ファイルを更新できますが、いくつかの説明を追加するだけの場合は、ライブラリを更新しないでください。この場合は、何も更新しないでください:
この方法では、Composer はライブラリを更新しませんが、composer.lock は更新されます。更新コマンドでは何もキーワードではないことに注意してください。このパッケージが引き起こすものは何もありません。 foobar と入力しても、結果は同じです。
使用している Composer のバージョンが十分に新しい場合は、--lock オプションを直接使用できます:
2.composer.jsonを編集せずにライブラリをインストールします
ライブラリをインストールするたびにcomposer.jsonを変更するのは面倒だと感じるかもしれませんが、その場合はrequireコマンドを直接使用できます。
この方法は、新しいプロジェクトをすばやく開くためにも使用できます。 init コマンドには --require オプションがあり、composer.json を自動的に書き込むことができます (質問に答える必要がないように -n を使用していることに注意してください)
3. 導出は簡単です
初期化中に create-project コマンドを試しましたか?
これにより、リポジトリのクローンが自動的に作成され、指定されたバージョンがチェックアウトされます。このコマンドは、元の URI を検索する必要がないため、ライブラリのクローンを作成するときに使用すると非常に便利です。
4. dist パッケージを優先してキャッシュを検討します
過去 1 年間の Composer は、ダウンロードした dist パッケージを自動的にアーカイブします。デフォルトでは、dist パッケージは、「symfony/symfony」:「v2.1.4」などのタグ付きバージョン、またはワイルドカードまたはバージョン範囲「2.1.*」または「>=2.2,
dist パッケージは dev-master などのブランチにも使用でき、Github では特定の git リファレンスの圧縮パッケージをダウンロードできます。ソース コードを複製する代わりに tarball の使用を強制するには、インストールと更新の --prefer-dist オプションを使用できます。
これが例です (実行時間を表示するために --profile オプションを使用しました):
ここでは、twig/twig:1.12.2の圧縮パッケージが~/.composer/cache/files/twig/twig/1.12.2.0-v1.12.2.zipに保存されています。パッケージを再インストールするときに直接使用します。
5. ソースコードを最初に変更を検討してください
ライブラリを変更する必要がある場合、パッケージをダウンロードするよりもソースコードを複製する方が便利です。 --prefer-source を使用すると、クローン ソース コードの選択を強制できます。
次に、ファイルを変更できます:
変更されたライブラリを更新しようとすると、Composer は変更を中止するかどうかを尋ねるメッセージを表示します:
本番環境の準備をする
最後に、コードを実稼働環境にデプロイするときは、自動読み込みを最適化することを忘れないでください:
パッケージをインストールするときに --optimize-autoloader を使用することもできます。このオプションを使用しない場合、20% ~ 25% のパフォーマンスの低下が見られる可能性があります。
ヘルプが必要な場合、または特定のコマンドの詳細を知りたい場合は、公式ドキュメントを読むか、JoliCode によって作成されたこのインタラクティブなチートシートをチェックしてください。
1: 部隊を補充する 2: さまざまな信号を送ることができる 3: チーム戦で最初に攻撃すべきターゲットを把握する 4: さまざまな BUFF とドラゴンのリフレッシュ時間を覚えておく。 : 目と買い目の方法を知る 6: さまざまな装備や小道具に付属するスキルを使用できるようにする 7: 他のチームメイトをサポートする方法を知る 8: 敵プレイヤーが 1 人いる場合に何をすべきかを知る、敵は撤退することを選択しますが、私たちのチームメイトはドラゴンか何かを防御して殺す方法を知りません、代わりに、他の人の塔の下に突入し、塔を飛び越える勇気はありません。あなたは、相手が死んでその人が復活するまで待ってください。このような状況はたくさんあります。つまり、これを2つの文で説明することはできません。