はじめに
作曲家 プロジェクトの依存関係を追跡するためのアプリケーションです。プロジェクトが依存する必要なすべてのPHPパッケージを取り込み、それらを管理します。
システムパッケージマネージャーを置き換える代わりに( apt など) またはyum )、Composerを使用すると、特定のプロジェクトのライブラリのセットを指定できます。ライブラリが確立されると、Composerはバージョンと依存関係を識別し、それらを対応するプロジェクトにインストールします。
この記事では、CentOS7にComposerをインストールして使用する方法を学びます。
前提条件
- CentOSLinuxシステム
- PHP5.3.2以降がインストールされています
- sudoのユーザーアカウント 特権
- コマンドライン/ターミナルウィンドウへのアクセス( Ctrl + Alt + F2 )
CentOS7にPHPComposerをインストールする手順
ステップ1:ローカルリポジトリを更新する
システムに何かをダウンロードしてインストールする前に、必ずローカルリポジトリを更新してください:
sudo yum -y update
ステップ2:ソフトウェアの依存関係をインストールする
サポートソフトウェアのインストールから始めます。ターミナルで次のコマンドを入力します:
yum install php-cli php-zip wget unzip
必要な依存関係がすでにある場合は、それらがパッケージの最新バージョンであることを確認してください。
ステップ3:Composerインストーラースクリプトをダウンロードする
次に、インストーラースクリプトをダウンロードする必要があります。次のコマンドは、現在いるディレクトリにファイルをダウンロードします。
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ステップ4:ダウンロードの整合性を確認する
インストーラスクリプトを入手したら、その整合性を確認する必要があります。
そのためには、SHA-384ハッシュがComposerの公式公開鍵ページにあるインストーラー署名(SHA-384)と一致するかどうかを確認する必要があります。
承認された署名をComposerのGithubページからHASH変数にダウンロードします:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
次に、次のスクリプトを使用して、公式ハッシュをダウンロードしたものと比較します。
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
2つの署名が一致する場合、出力には次のメッセージが表示されます:インストーラーが確認されました 。
一方、スクリプトがいくつかの違いを検出すると、次のように表示されます。インストーラーが破損しています 。この問題を解決するには、Composerインストーラーを再ダウンロードする必要があります。
ステップ5:Composerをインストールする
ファイルの整合性を確認したら、Composerのインストールに進むことができます。
/ usr / local / binにComposerをインストールすることをお勧めします システム全体からアクセス可能なコマンドとしてのディレクトリ。
1. Composerをインストールするには、次のコマンドを使用します:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
インストールが初期化されると、次のメッセージが表示されます。
All settings correct for using Composer
Downloading...
Composer (version 1.6.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
2.インストーラーがプロセスを完了したら、正しく実行されているかどうかを確認します。
composer
システムは、実行中のバージョンをその構文および使用可能なオプションとともに表示する必要があります:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.9.0 2019-08-28 11:45:23
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
3.最後に、インストーラーを削除します:
php -r “unlink(‘composer-setup.php’);”
基本的なComposerの使用法
Composerは、プロジェクトごとに依存関係を追跡するのに役立ち、他のユーザーが同じ環境を簡単に作成できるようにします。 composer.json を使用して、必要なソフトウェアと許可されたバージョンを追跡します ファイル。
さらに、誰かが composer.lock を介してディレクトリをコピーした場合でも、一貫性が維持されます。 require
を使用して自動的に生成されるファイル コマンド。
それでは、新しいPHPプロジェクトを開始するときにComposerを利用する方法を見てみましょう。
1.ターミナルを開き、プロジェクトの説明、その依存関係、およびその他の追加情報( composer.json )を含むファイルのプロジェクトルートディレクトリを作成します。 ファイル):
mkdir c_sample
2.次に、それを新しいディレクトリに移動します:
cd c_sample
3.次のステップは、パッケージのロードです。ウェブサイトpackagist.org さまざまなPHPパッケージから選択できます。
この例では、 monolog / monologをダウンロードして使用します 私たちのプロジェクトのパッケージ。スラッシュの後の情報はパッケージ名です 、スラッシュの前の名前はベンダーです。 。
ソフトウェアのダウンロードに加えて、システムは自動的に composer.jsonを作成します ファイルとcomposer.lock 次のコマンドでファイルを作成します:
composer require monolog/monolog
4.次に、ディレクトリのコンテンツを一覧表示して、すべてのファイルが作成されたかどうかを確認します。
ls -l
コンテンツの中に、 composer.jsonが表示されます。 およびcomposer.lock ファイル、およびベンダー ディレクトリ。
5.次に、 composer.jsonを開きます ファイル:
cat composer.json
新しく追加されたモノログソフトウェアにカラット( ^ )があることがわかります。 )バージョン番号の横にある記号は、ソフトウェアの最小バージョンを示します。
自動読み込みの設定方法
Composerを自動ロードに構成することで、依存関係の操作を簡素化できます。 あなたのためのクラス(PHPはこれを自動的に行わないため)
1.好みのテキストエディタを使用して、新しいファイルを作成します(この例では、 composer_sample
という名前になります)。 ):
vi composer_sample.php
2.ファイルに以下を追加します。
<?php
require __DIR__ . '/vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// create a log channel
$log = new Logger('name');
$log->pushHandler(new StreamHandler('/~/c_sample/text.log', Logger::WARNING));
// add records to the log
$log->warning('Foo');
$log->error('Bar');
3.保存 および終了 。
4.これにより、次のコマンドを使用してモノログを自動ロードできます。 :
php composer_sample.php
依存関係の更新
composer.jsonのすべての依存関係を更新する必要がある場合 あなたがそうすることができるファイル:
composer update
このコマンドは、ファイルで指定されたバージョンに従って依存関係を更新します。
1つ(または複数)の依存関係を個別に更新することもできます:
composer update vendor/package vendor_b/package_b