イントロダクション
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プロジェクトの一部です。
- もしまだ
brew tap josegonzalez/homebrew-php
を行っていない場合、homebrew-phpリポジトリをあなたのbrewにTapしてください。 brew install josegonzalez/php/composer
を実行してください。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して編集してください!