2013年12月3日火曜日

PHP Composerをやってみる

Composer(コンポーザ)は、ライブラリの依存性を管理してくれるものです
Composerは作曲者とか構成者って意味らしいですね
本家サイト:http://getcomposer.org/




適当にディレクトリを作成し、そのディレクトリでComposerをダウンロードします
mkdir /var/www/html/composer_test
cd /var/www/html/composer_test

Composerをダウンロードしましょう
curl https://getcomposer.org/installer | php
curlコマンドは、cURL(シーユーアールエル)のことで引数にURLを用いて
ファイルを送受信コマンドラインツールです

composer.pharがダウンロードされました
インストールするライブラリはcomposer.jsonというファイルを作成し書き込みます
monologの1.7以上のバージョンをインストールする設定です
vim composer.json
{
    "require": {
        "monolog/monolog": "1.7.*"
    }
}

インストールします
php composer.phar install
見事、vendorフォルダが作成されました!
vendorフォルダ内のautoload.phpを読み込むことでmonologを自動的に読み込んでくれます
Packagistというwebサイトでライブラリの検索やcomposer.jsonに記述する設定を見ることができます


ライブラリを追記してみます
現在、最新版のPHPUnitの3.8はまだ安定していないそうなので3.7をインストールします
{
    "require": {
        "monolog/monolog": "1.7.*",
        "phpunit/phpunit": "3.7.*"
    }
}

カンマでライブラリを区切ります
追記した場合はinstallではなくupdateです
php composer.phar update

するとこんなエラーが…
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for phpunit/phpunit 3.7.*@dev -> satisfiable by phpunit/phpunit[3.7.x-dev].
    - phpunit/phpunit 3.7.x-dev requires ext-dom * -> the requested PHP extension dom is missing from your system.
ふむふむextension domが見当たらないと
調べてみるとphp-xmlをインストールしたらいいらしいです
yum install php-xml
もう一度
php composer.phar update
vendor/phpunitを確認できました

まだまだcomposerを使いこなしてないですがcomposer.jsonファイルを配布すれば多人数で
環境を整えるのが捗りますね!

0 件のコメント :

コメントを投稿