[Composer]は、PHPの一般的な依存関係管理ツールで、主にプロジェクトの依存関係のインストールと更新を容易にするために作成されました。特定のプロジェクトが依存する他のパッケージをチェックし、プロジェクトの要件に応じて適切なバージョンを使用してそれらをインストールします。[Symfony]やhttps://laravel.com/[Laravel]などの一般的なPHPフレームワークに基づいた新しいプロジェクトのブートストラップにもよく使用されます。10サーバーにComposerをインストールして使用する方法を説明します。10サーバーをセットアップする必要があります。+`特権を持つ通常のユーザーを含みます。ステップ1-依存関係のインストールComposerをダウンロードしてインストールする前に、サーバーにすべての依存関係がインストールされていることを確認します。次を実行してパッケージマネージャーキャッシュを更新します。updateそれでは、依存関係をインストールしましょう。`パッケージは、使用するライブラリに機能を提供するために必要です。+`は圧縮されたパッケージを抽出します。すべては、次のコマンドでインストールできます。unzip前提条件をインストールしたら、Composer自体をインストールできます。ステップ2-ComposerのダウンロードとインストールComposerは、PHPで記述されたhttps://getcomposer.org/installer[installer]を提供します。ダウンロードし、破損していないことを確認してから、Composerのインストールに使用します。+`を使用してインストーラーを取得します。[composer-sigs]ページにある最新のインストーラーのSHA-384ハッシュと一致することを確認します。そのページからハッシュをコピーして、シェル変数として保存します。HASH=強調表示された値を最新のハッシュに置き換えてください。次のPHPスクリプトを実行して、インストールスクリプトが安全に実行できることを確認します。PHP_EOL;"次の出力が表示されます。Installer破損+」が表示された場合、インストールスクリプトを再度ダウンロードし、正しいハッシュを使用していることを再確認する必要があります。次に、コマンドを実行してインストーラーを再度検証します。検証済みのインストーラーを入手したら、続行できます。+`の下にインストールします。--filename=次の出力が表示されます。/usr/local/bin/composerインストールをテストするには、次を実行します。composer次のようなComposerのバージョンと引数を示す出力が表示されます。.これにより、Composerがシステムに正常にインストールされ、システム全体で利用できることが確認されます。Composerを使用してPHPの依存関係を管理する方法を見てみましょう。ステップ3-PHPプロジェクトでComposerを使用するPHPプロジェクトは外部ライブラリに依存することが多く、これらの依存関係とそのバージョンを管理するのは難しい場合があります。Composerは、依存関係を追跡し、他の人がそれらを簡単にインストールできるようにすることでそれを解決します。composer.json`ファイルが必要です。composer.json`ファイルは、プロジェクトにダウンロードする必要がある依存関係と、インストールが許可されている各パッケージのバージョンをComposerに伝えます。これは、プロジェクトの一貫性を維持し、下位互換性の問題を引き起こす可能性のある不安定なバージョンのインストールを避けるために非常に重要です。このファイルを手動で作成する必要はありません。すると、構文エラーが発生しやすくなります。composer.json`ファイルを自動生成します。このファイルを手動で編集することなく、同じ方法で依存関係を追加できます。Composerを使用してパッケージをプロジェクトの依存関係としてインストールするプロセスには、次の手順が含まれます。アプリケーションに必要なライブラリの種類を特定します。Composerの公式パッケージリポジトリであるhttps://packagist.org/[Packagist.org]で適切なオープンソースライブラリを調べてください。依存するパッケージを選択します。require`を実行し、パッケージをインストールします。デモアプリケーションでこれを試してみましょう。このアプリケーションの目標は、特定の文をURLに適した文字列-_slug_に変換することです。これは通常、ページタイトルをURLパスに変換するために使用されます(このチュートリアルのURLの最後の部分など)。プロジェクトのディレクトリを作成することから始めましょう。slugifyここで、_slugs_の生成に役立つパッケージをhttps://packagist.org/[Packagist.org]で検索します。Packagistで「スラッグ」という用語を検索すると、次のような結果が得られます。Search]リスト内の各パッケージの右側に2つの数字が表示されます。[GitHub]でパッケージにスターが付けられた回数を示します。これらの番号に基づいて検索結果を並べ替えることができます(検索バーの右側にある2つのアイコンを探します)。一般的に言って、インストール数とスター数が多いパッケージは、非常に多くの人が使用しているため、より安定する傾向があります。パッケージの説明で関連性を確認し、必要なものであることを確認することも重要です。単純な文字列からスラグへのコンバータが必要です。+」は、適切な量のインストールとスターを備えた、良好な一致のようです。Packagistのパッケージには、*ベンダー*名と*パッケージ*名があります。」の形式)で一意の識別子(名前空間)があります。プロジェクトでパッケージを要求するには、名前空間が必要です。+`ファイルも生成します。cocur/slugifyComposerが依存関係をダウンロードすると、次の出力が表示されます。files出力からわかるように、Composerは使用するパッケージのバージョンを自動的に決定しました。vendor」ディレクトリが含まれます。`ファイルは、各パッケージのどのバージョンがインストールされているかに関する情報を保存するために使用され、誰かがプロジェクトを複製して依存関係をインストールする場合、同じバージョンが使用されるようにします。vendor`ディレクトリはプロジェクトの依存関係が置かれている場所です。*ファイルを含めるだけです。バージョンの制約を簡単に見てみましょう。composer.json`ファイルの内容を確認すると、次のように表示されます。あることに気付くかもしれません。Composerは、プロジェクトの安定性を保ちながら柔軟性を提供するために、必要なパッケージバージョンを定義するためのいくつかの異なる制約と形式をサポートしています。versioning]に従って、最大限の相互運用性のために推奨される演算子です。*より下の将来のバージョンへの更新を許可します。composer.json`ファイルのバージョンの制約を変更する必要はありません。場合によっては、必要なライブラリのメジャーな新しいバージョンがリリースされてアップグレードする場合、または使用するライブラリがセマンティックバージョニングに従っていない場合など、制約を手動で編集する必要があります。Composerバージョンの制約がどのように機能するかをよりよく理解するための例をいくつか示します。[公式ドキュメント]を参照してください。次に、Composerで依存関係を自動的に読み込む方法を見てみましょう。ステップ4-自動ロードスクリプトを含めるPHP自体はクラスを自動的にロードしないため、Composerには自動ロードスクリプトが用意されています。これをプロジェクトに含めると、自動ロードを無料で取得できます。これにより、依存関係を簡単に操作できます。autoload.php`ファイルを含めることだけです。このファイルは、最初の依存関係を追加するとComposerによって自動的に生成されます。アプリケーションで試してみましょう。+`を作成し、テキストエディターで開きます。+`依存関係をロードし、それを使用してスラッグを作成する次のコードを追加します。it!');ファイルを保存して、エディターを終了します。次に、スクリプトを実行します。依存関係は、新しいバージョンがリリースされたときに更新が必要なので、それを処理する方法を見てみましょう。updateこれにより、プロジェクトで必要なライブラリの新しいバージョンがチェックされます。`ファイルで定義されているバージョン制約と互換性がある場合、Composerはインストールされている以前のバージョンを置き換えます。+`ファイルが更新されます。次のように指定して、1つ以上の特定のライブラリを更新することもできます。composer.lock`ファイルへの変更をコミットしてください。すれば、プロジェクトで作業している人は誰でも同じパッケージバージョンにアクセスできます。結論Composerは、すべてのPHP開発者がユーティリティベルトに持つべき強力なツールです。10にComposerをインストールし、単純なプロジェクトで使用しました。これで、依存関係をインストールおよび更新する方法がわかりました。プロジェクトの依存関係を管理する簡単で信頼できる方法を提供するだけでなく、コミュニティによって作成されたPHPパッケージを共有および検出するための新しい事実上の標準も確立します。