composerとは?

お久しぶりです。ishikawaです。
今回は、composerのお話です!

composerとは

簡潔に説明するとcomposerは、プロジェクトが必要とするライブラリやパッケージを管理し、
それをもとにインストールをすることができます。phpの依存管理ツールと言えば良いのでしょうか。
 
例えば、あるライブラリをインストールする場合、
その前に特定のライブラリをインストールしなければならない場合がありますね。
そんな依存関係を自動的にインストールしてくれる便利なツールです。
 
こちらのツールを利用するためには、まず以下のコマンドでインストールをします。

curl -sS https://getcomposer.org/installer | php

 
インストールが完了すると、composer.pharができました。
composer.pharは、通常/usr/local/bin/へ移動します。

mv composer.phar /usr/local/bin/composer

 

composerを使ってインストールする準備をしよう。

composerを使ってライブラリをインストールするためには、
composer.jsonを用意しないといけません。
 

composer.jsonてなに?

これは、依存するパッケージを定義するためのファイルのことを指します。
自分で作成することもできますし、以下のようにinitで作ることも可能です。
initを使用すると対話式に作ることができます。

php composer init

 
ファイルの中身はどうなっているのかというと、

{
  "require": {
  "monolog/monolog": "1.0.*"
  }
}

基本的な形は、こんな感じです。
どうやらrequireキーを使って、指定をするようです。
monolog/monologは、パッケージ名を指しており、
1.0.*は、パッケージのバージョンを指しています。
例のように指定することで、1.0系の最新バージョンがインストールされます。
 

composerを使ってインストールする。

composer.jsonができて初めてインストールする準備が整いました。
後は、下記を実行するのみです。

composer install

 

composer.lockについて

composer installをすることで出来上がるcomposer.lockについてですが、
このファイルには、composerのインストール時にパッケージのバージョン情報が記されています。
 
installコマンド実行時に、composer.lockファイルが存在する場合は、
composer.lockに書きだされているバージョンをダウンロードします。
 
チーム間で同じバージョンをインストールする際に使用することがあります。
 

最後に

必要最低限の知識は、これで全てでしょうか。
パッケージのリストについては、下記URLから
https://packagist.org/explore/
もちろん、コマンドからも探すことも可能です。

php composer.phar search キーワード

 
どんなパッケージがあるのかについては、気が向いたら覗いてみようかな、と思います。
機会があれば、ここで紹介したいなー。

以上でしたー。