Composer は、PHP の依存関係管理ツールです。プロジェクト内で依存するライブラリを宣言すると、Composer が次の問題の解決に役立ちます。これらのライブラリのインストール可能なバージョンと、これらのライブラリが依存するライブラリを見つけてインストールします。つまり、Composer は依存関係管理ツールであり、パッケージ管理ツール (Yum や Apt と同様) ではありません。これは、これらのパッケージをプロジェクトごとに管理し、これらのパッケージをプロジェクト内の特定のディレクトリにインストールするためです。
Composer には PHP 5.3.2 以降のバージョンと一部の PHP 構成が必要です。互換性がない場合は、インストール プロセス中にプロンプトが表示されます。 Composer をインストールするには 2 つの方法があります。1 つはローカル インストール、もう 1 つはグローバル インストールです。
ローカル インストールでは、Composer が現在のディレクトリにインストールされます。次のコマンドを実行してインストールします:
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"$ php -r "if (hash_file('SHA384', 'composer-setup.php') === '070854512ef404f16bac87071a6db9fd9721da1684cd4589b1196c3faf71b9a2682e2311b36a5079825e155ac7ce150d') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"$ php composer-setup.php$ php -r "unlink('composer-setup.php');"
合計 4 つのコマンドがあり、それぞれ次の操作を実行します:
インストール ファイルを現在のディレクトリにダウンロードします。
インストール ファイルの SHA-384 ハッシュを確認します。
インストール ファイルを実行します。
インストールファイルを削除します。
次に、次のコマンドを実行して Compoer を実行できます:
$ php composer.phar
2 番目のステップではファイルのハッシュがチェックされることに注意してください。インストール ファイルのハッシュ値はバージョンごとに異なるため、ダウンロード ページにアクセスして各インストールのインストール コードを入手することをお勧めします。または、インストールファイルを確認する必要がないと思われる場合は、このコマンドをスキップして次のコマンドを実行できます。もちろん、セキュリティの観点から、これはお勧めできません。
いわゆるグローバル インストールとは、実際には、どこからでも Composer にアクセスできるように、PATH 変数内のディレクトリに Composer をインストールすることを意味します。個人的にはこれを行うことをお勧めします。ローカルにインストールされた Composer 実行可能ファイルをグローバル ディレクトリに移動するだけです:
$ mv composer.phar /usr/local/bin/composer
これにより、composer コマンドをどこでも直接実行できるようになります。特に指定しない限り、後続のコマンドはグローバル インストールで実行されます。
Composer はインストール時に 3 つのオプションをサポートします。
Composer のインストール パスは、--install-dir オプションを使用して変更できます。たとえば、Composer を bin ディレクトリにインストールする場合は、次のようにします。 >
$ php composer-setup.php --install-dir=bin
$ php composer-setup.php --filename=composer
$ php composer-setup.php --version=1.0.0-alpha8
Composer の更新
$ composer selfupdateUpdating to version 1.1.2 (stable channel). Downloading: 100% Use composer self-update --rollback to return to version 06c45623d76457562cecbcf2245f904aa0f63a87# 或者(两者是等效的)$ composer self-update
$ composer selfupdate --rollbackRolling back to version 2016-05-26_16-11-16-06c4562.
require key
{ "require": { "monolog/monolog": "1.0.*" }}
パッケージの名前
パッケージ バージョン
依存関係をインストールします
$ composer installLoading composer repositories with package informationUpdating dependencies (including require-dev) - Installing monolog/monolog (1.0.2) Downloading: 100% Writing lock fileGenerating autoload files
运行完上面的 install命令后,你会发现除了 vendor目录,还会多了一个 composer.lock文件。这个文件保存了项目已经安装的每个包的具体版本。在运行 install命令的时候,如果存在这个文件,则Composer会根据这个文件下载对应版本的包。这样的好处是可以保证各个环境的依赖的版本一致,否则如果没有这个文件,每个环境在运行 install时可能下载到的版本就不一致了。所以建议把 composer.lock文件也放到版本控制里。
要更新依赖,只需要运行 update命令:
# 更新所有的依赖$ composer update# 更新某个依赖$ composer update monolog/monolog
下载完依赖后,我们可以开始使用依赖所提供的库了。Composer会为下载的库创建自动加载文件 vendor/autoload.php,我们只需要包含这个文件就能轻松的调用各个库的功能。以 monolog/monolog为例:
$log = new Monolog\Logger('name');$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));$log->addWarning('Foo');
我们不用关心库文件的加载问题,Composer的 autoload.php文件已经帮我们处理好了各个库的自动加载。
至此,我们安装好了Composer,也知道了它的基本用法,基本可以快乐的玩耍了。但是众所周知,由于某些原因,github和packagist在国内有时会访问不了,或者速度很慢,这就会导致使用Composer时的各种不爽。还好我们国内有个 镜像可以解决这个问题,只需要把仓库的路径修改为镜像的路径即可。
有两种方式,一是修改Composer的全局配置(推荐的方式):
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
这个命令会修改Composer的全局配置文件 config.json。二是修改单个项目的配置:
$ composer config repo.packagist composer https://packagist.phpcomposer.com
这个命令会修改项目下的 composer.json文件,添加如下的配置信息:
"repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" }}
当然你也可以直接手动修改 composer.json文件,添加上面那段配置信息。
详情请访问: http://pkg.phpcomposer.com/。
https://getcomposer.org/
http://pkg.phpcomposer.com/