PHPでライブラリの依存管理をするツール「Composer」の使い方


こんにちは、@9ensanです。

php-composer-dependency-management-01

今回は、PHPの依存管理ツール「Composerの使い方です。

PHPでアプリケーションを作る時に、ほとんどの人が1つ以上はフレームワーク、テンプレートエンジン、O/Rマッパーなどの便利な外部ライブラリ何かしら使用していると思います。

その外部ライブラリがまた別のライブラリに依存していてとなっていった日には、アプリケーションを作る環境構築だけで時間がとられて無駄です。

 

そのような場合に便利なツールが、今回紹介する「Composer」というツールです。

このツールは、composer.jsonという設定ファイルの記述にしたがって、依存するライブラリをコマンド一つでインストールしてくれるツールです。

Nodeでいうところのnpm、RubyでいうとこのBundlerに似たツールになります。

ComposerはPSR-0のautoloadの機能も保持しているのでこれかのPHPを利用する場合には必須になると思います。

 

まずはインストール方法から、

インストール

まずPHP5.3.2以上が入っている事が前提となります。

Linux、Macの場合

ローカルインストール
curl -s https://getcomposer.org/installer | php

インストール先を指定したい場合は、

curl -s https://getcomposer.org/installer | php -- --install-dir=bin

のように記述して、–install-dirに相対パスか絶対パスでパスを指定します。

グローバルインストール
curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

パスの通っている箇所にインストールをすると言う事らしいので「/usr/local/bin」にパスが通ってない環境ではインストール先のパスを修正してくだださい。

Windowsの場合(Windows環境がないので未確認)

インストーラー

このリンク先のインストーラをダウンロードして実行して使うようです。

手動でのインストール

コマンドプロンプトを使って以下のコマンドを実行します。

C:\Users\username>cd C:\bin
C:\bin>php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

phpコマンドのパスの通っている環境でコマンドを実行することで、「composer.phar」がダウンロードされます。(Linuxでもcurlが使えない場合はこれでcomposer.pharがダウンロードできるのでは)

次に、batファイルを作成する

C:\bin>notepad composer.bat

ノートパッドでcomposer.batというファイル名の新規ファイルを作成しているが、自分の使い慣れているエディタでいいと思います。

composer.batの中に、記述する内容

@ECHO OFF
 SET composerScript=composer.phar
 php "%~dp0%composerScript%" %*

composer.pharへ引数を簡単にわたす為のbatファイルになります。

ファイルを保存したら、新しいコマンドプロンプトで以下のコマンドを実行して動くか確認します。

C:\Users\username>composer -V
Composer version 27d8904

上手く動かない場合は、composer.batに記述したphpやcomposer.pharへのパスの記述が間違っている可能性が高いです。

これでインストールは終了です。

 

使い方

インストールの仕方にもよるのですが、

php composer.phar install

composer install

というコマンドを実行するとcomposer.jsonの内容にしたがってファイルをダウンロードしてきてくれます。

インストールしたライブラリを利用する方法は

require 'vendor/autoload.php';

この1行をphpに記述するだけです。そうすることで、composerでインストールしたライブラリ達のオートロードが行われるので後は必要に応じてuseしてライブラリを使うだけになります。

例)

composer.json

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

このファイルを設置します。

php-composer-dependency-management-02

で設置したフォルダで「composer install」を実行します。

php-composer-dependency-management-03

すると、以下のようにダウンロードされてインストールされます。

php-composer-dependency-management-04

実際にこのソースの内容で実行してみると


test.logが出力されmonologが利用できた事が確認できました。

 

ドキュメントの日本語訳へのリンク

細かい使い方は、Composerのドキュメントを日本語訳してくれているのでそちらを見るととても分かりやすいです。

 

PHPのライブラリもComposerを使って管理するのが当たり前になると思うので使うようにしていきたいです。

関連する記事:

Facebookでコメント

コメント

  1. コメント 0

  1. 2013年 1月21日
  2. 2013年 6月16日
*

return top