1. はじめに
Composer は、PHP の依存関係管理ツールです。 。これにより、プロジェクトが依存するコード ライブラリを宣言でき、それらがプロジェクトにインストールされます。
2. システム要件
Composer を実行するには、PHP 5.3.2 以降が必要です。
Composer はマルチプラットフォームであり、Windows、Linux、OSX プラットフォームで同時に実行できます。
3. インストール (ubuntu)
curl -sS https://getcomposer.org/installer | php mv composer.phar mv composer.phar /usr/local/bin/composer
注:curl がインストールされていない場合は、次のコマンドを使用してインストールできます
apt-get update apt-get install curl
Composer をインストールした後、次のコマンドを使用して、インストールが成功したかどうかを確認します。
composer -v
注 上記の方法が何らかの理由で失敗した場合は、php を通じてインストーラーをダウンロードすることもできます。
php -r "readfile('https://getcomposer.org/installer');" | php
これにより、いくつかの PHP 設定がチェックされます。次に、composer.phar
を作業ディレクトリにダウンロードします。これは Composer バイナリです。これは PHAR パッケージ (PHP アーカイブ) であり、ユーザーがコマンド ラインで一部の操作を実行するのに役立つ PHP アーカイブ形式です。
Composer インストール ディレクトリは、--install-dir
オプションを使用して指定できます (絶対パスまたは相対パスを指定できます)
4.
# を使用します。 # #プロジェクトで Composer の使用を開始するには、composer.json ファイルのみが必要です。このファイルには、プロジェクトの依存関係とその他のメタデータが含まれています。
composer.json ファイルを作成し、対応するパッケージ名とバージョン番号 (
{ "require": { "monolog/monolog": "1.13.*" } }
composer.json が配置されているディレクトリ) で
install コマンドを実行します。
composer install
Windows システムを使用している場合は、
composer.phar パッケージを呼び出して依存パッケージをインストールすることもできます。
php composer.phar install
を実行して自動インストールを開始します。インストールが完了すると、特定のバージョン番号を含む composer.lock
ファイルが生成されます。このファイルは必須です。composer.json
とともにバージョン管理に送信してください。 最後に、依存関係パッケージを更新する必要がある場合は、次のコマンドを使用できます
composer update
一部の依存関係のみを更新したい場合は
composer update monolog/monolog
5. 自動読み込み
ライブラリの自動ロード情報については、Composer は
vendor/autoload.php ファイルを生成します。これをプロジェクトのエントリ ファイルに導入できます<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php
require __DIR__ . &#39;/vendor/autoload.php&#39;;
?></pre><div class="contentsignin">ログイン後にコピー</div></div>
これにより、サードパーティのコードを簡単に使用できるようになります。たとえば、プロジェクトが monolog に依存している場合、次のようにライブラリの使用を開始すると、それらは自動的にロードされます。
<?php require __DIR__ . '/vendor/autoload.php'; $log = new Monolog\Logger('name'); $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING)); $log->addWarning('Foo'); ?>
6.Packagist/Composer China Full Image
壁の問題により、Composer の海外イメージは正常にインストールできないことがよくあります
install ため、国内のイメージを使用することをお勧めしますミラーリングは次のように使用されます。このミラーリング サービスを有効にするには 2 つの方法があります:
- プロジェクトのcomposer.jsonファイルに構成情報を追加します。詳細については、「方法 2」を参照してください。
- 方法 1: Composer のグローバル構成ファイルを変更する
composer config -g repo.packagist composer https://packagist.phpcomposer.com
方法 2: 現在のプロジェクトの composer.json
構成ファイルを変更します: コマンド ライン ウィンドウ (Windows ユーザー) またはコンソール (Linux、Mac) を開きます。ユーザー) を入力し、プロジェクトのルート ディレクトリ (
ファイルが存在するディレクトリ) で次のコマンドを実行します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer config repo.packagist composer https://packagist.phpcomposer.com</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記のコマンドは次のようになります。現在のプロジェクトの
ミラー構成情報はファイルの最後に自動的に追加されます (手動で追加することもできます): <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
7. Composer で autoload を使用して自動的に追加します。名前空間のロード
Composer は、必要な依存関係パッケージをインストールするだけでなく、名前空間を自動的にロードする機能も実装できます。自分で作成した関数ライブラリやクラス ライブラリを自動的にロードする必要がある場合に、ロードされた場合は、
composer.json を通じてこれを実現できます。これは、php の spl_autoload_register()
に似ています。実際、Composer のソース コードを見ると、自動ロード機能でも spl_autoload_register()
関数が使用されていることがわかります。 . . 「詳しくは、こちらの詳しい紹介記事をご覧ください。」 次のコードを
に追加します。
{ "autoload": { "psr-4": { "Test\\": "test/", "Testtwo\\": "testtwo/" } } }
这个配置文件中有一个 autoload 段,其中有个 《PSR-4》,psr-4 是一个基于 psr-4 规则的类库自动加载对应关系,只要在其后的对象中,以 ”命名空间“: “路径” 的方式写入自己的类库信息修改完成后,之后,在执行下列命令,即可完成自动加载。
composer dumpautoload
注:"psr-4": {"Test\\": "test/"}
中的 "test/" 路径为相对于composer.json
的路径
这个时候,你就可以调用你自己编写的函数库或者类库了
<?php require __DIR__ . '/vendor/autoload.php'; $testClass = new \Test\Testclass(); ?>
注:本文内容参考了《Composer 中文网》,后续还会更新 Composer 其它的实用功能