イントロダクション

ComposerはPHPの依存管理ツールです。 Composerはあなたのプロジェクトが必要とする依存ライブラリを定義できるようにして、インストールを行います。

依存管理

Composerはパッケージ管理ツールではありません。そう、Composerは「複数」のパッケージやライブラリを扱います。 Composerはライブラリをプロジェクト単位に管理します。あなたのプロジェクト内のディレクトリ(例: vendor)にライブラリをインストールします。 デフォルトではグローバルには決してインストールしません。 したがって、これは依存管理なわけです。

このアイデアは新しいものではありません。 Composerはnodeのnpmやrubyのbundlerに強くインスパイアされています。 しかし、PHPにはそのようなツールがありませんでした。

Composerが解決する問題は以下の通りです:

a) 大量のライブラリに依存したプロジェクトがある。

b) そのライブラリのいくつかは別のライブラリに依存している。

c) あなたが依存関係を定義する。

d) Composerはどのパッケージのどのバージョンをインストールする必要があるのかを見つけ出し、インストールする。 (これは、プロジェクト内にパッケージをダウンロードすることを意味します)。

依存関係を定義する

あなたが新しいプロジェクトを作成し、そしてロギングのライブラリを必要としていたとしましょう。 あなたはmonologを使うことに決めました。 これをあなたのプロジェクトに追加するために、あなたがしなければならないことは、 プロジェクトの依存関係を記述したcomposer.jsonファイルを作成することです。

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

これは、プロジェクトがmonolog/monologパッケージの1.2で始まるバージョンを必要としていることを、述べているだけです。

システムの必要条件

Composerが動作するためにはPHP 5.3.2以上が必要です。 また、多少センシティブなPHPの設定とコンパイルフラグも必要です。 要件を合っていない箇所については、インストーラが警告を出すでしょう。

シンプルなzipアーカイブの代わりにソースからパッケージをインストールするには、git、svnまたはhgが必要です。 これはパッケージのバージョン管理の方法によります。

Composerはマルチプラットフォームです。私たちはWindows、Linux、OSXでそれが同じように動作するよう、努力しています。

*nixへインストール

実行形式のComposerをダウンロード

ローカルにインストール

実際にComposerを利用するためには2つのことをしなければなりません。最初のひとつはComposerをインストールすることです。 (もう一度言います。これはあなたのプロジェクト配下にダウンロードするという意味です)

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

これはPHPの設定内容をチェックして、composer.pharをあなたの作業ディレクトリにダウンロードします。 このファイルはComposerのバイナリです。 PHAR(PHP archive)はPHPのためのアーカイブ形式でコマンドラインなどから実行することができます。

--install-dirオプションを使ってディレクトリを指定すると、Composerを指定のディレクトリにインストールすることができます。 (絶対パスまたは相対パスが使えます)

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

グローバルにインストール

このファイルはあなたの好きな場所に置くことができます。PATHの通った場所に置くことで、グローバルにアクセスすることができます。 unix系のシステムでは実行形式にしてphpなしで実行することもできます。

以下のコマンドを実行すれば、システムのどこからでも簡単にcomposerにアクセスすることができます。

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer

注意: 上記がパーミッションによって失敗する場合、mvの行をsudoで実行してください。

これで、Composerを実行をphp composer.pharの代わりにcomposerだけで実行できます。

グローバルにインストール (homebrewでOSXに)

Composerはhomebrew-phpプロジェクトの一部です。

  1. もしまだbrew tap josegonzalez/homebrew-phpを行っていない場合、homebrew-phpリポジトリをあなたのbrewにTapしてください。
  2. brew install josegonzalez/php/composerを実行してください。
  3. composerコマンドでComposerが使います。

注意: もしPHP53でエラーになる、またはそれ以上のバージョンを失っている場合は、次のコマンドをつかってPHPをインストールしてください。 brew install php53-intl

Windowsへインストール

インストーラを使う

これはComposerをあなたのマシンにセットアップする最も簡単な方法です。

Composer-Setup.exeをダウンロードして実行してください。 最新バージョンのComposerがインストールされパスが設定されます。これによりどのディレクトリからもcomposerをコマンドラインから実行することができます。

手動でインストール

PATHの通っているディレクトリに移動してcomposer.pharをダウンロードするため以下のインストールスニペットを実行してください。

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

注意: 上記がfile_get_contentsで失敗する場合、URLをhttpにするかphp.iniでphp_openssl.dllを有効にしてください。

新しくcomposer.batファイルをcomposer.pharと同じ場所に作成してください。

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

現在のターミナルを閉じて、新しいターミナルで利用テストします:

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

C:\Users\username>

Composerを使う

プロジェクトの依存物をインストールするためにComposerを使いましょう。 もしカレントディレクトリにcomposer.jsonファイルがない場合は 基本的な使い方の章へ跳んでください。

依存関係を解決してインストールするために、installコマンドを実行します。

$ php composer.phar install

グローバルにインストールしてpharを外しているなら、代わりに以下を実行します:

$ composer install

前述の例では、monologをvendor/monolog/monologにダウンロードします。

オートローディング

ライブラリのダウンロードだけでなく、Composerはオートロードファイルを用意します。 このファイルはダウンロードしたライブラリ内のすべてのクラスのオートローディングをおこないます。 これを使うためには、以下の一行をコードの起動プロセスに追加してください。

require 'vendor/autoload.php';

よっし! monologの使用を今、開始しました! Composerについてもっと学び続けるために、"基本的な使い方"の章を続けて読みましょう。

基本的な使い方

誤字を見つけましたか? 何か間違いがありますか? forkして編集してください