PHPでライブラリの依存管理をするツール「Composer」の使い方
こんにちは、@9ensanです。
今回は、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.*" } }
このファイルを設置します。
で設置したフォルダで「composer install」を実行します。
すると、以下のようにダウンロードされてインストールされます。
実際にこのソースの内容で実行してみると
test.logが出力されmonologが利用できた事が確認できました。
ドキュメントの日本語訳へのリンク
細かい使い方は、Composerのドキュメントを日本語訳してくれているのでそちらを見るととても分かりやすいです。
PHPのライブラリもComposerを使って管理するのが当たり前になると思うので使うようにしていきたいです。
関連する記事:
- [PHP]ComposerでインストールできるライブラリをPackagistで公開する手順
- PHPでComposerを使ってインストール可能なライブラリの作り方
- さくらのVPSでのPHPの設定
- ArduinoにRC-S620/Sを接続する方法
- MacでPasoriでNFCカードを読んでみる(libnfcを使って)
コメント 0