SmartyとかPHPunitとかphpQueryとかPHPExcel/Wordとか、いろいろライブラリを使うけど、最新版を持ってきてとかめんどい。
とくに自分の作ったものを配布するときに、他のフリーソフトウェアをパッケージ内に含めたいときにライセンスの管理も気になる。
世の中に「Composer」という便利な物があるらしいと、GitHubのあちこちで見かけていたけど、いままで時間がなくてスルーしてた。けど、ちょっと調べたら、とっても簡単便利で、使ってなかった自分を絞め殺したくなった。
Homebrewでインストール
MacでHomebrewを使っていれば、Composerは一撃でインストールできる。
$ brew install composer
作成したPHPプログラム内でSmartyを使いたいときは、そのプログラムの一番上のディレクトリに「composer.json」というファイルを置く。
{
"require": {
"smarty/smarty": "v3.1.18",
}
}
あとは、同じディレクトリでインストールコマンドを打つだけ。
$ composer install
すると、「vender」というサブディレクトリが掘られて、その下にSmartyがインストールされる。
あとは、PHPプログラムの先頭で
<?php
require_once 'vendor/autoload.php';
みたいな感じで読み込んでおけば、
$Smarty = new Smarty;
みたいに必要になった瞬間に自動的にrequireしてくれる。
複数のライブラリを使ったり削除したりも簡単
複数の外部ライブラリを使いたい場合は、次のように記述する。
{
"require": {
"smarty/smarty": "v3.1.18",
"php-console/php-console": "3.*",
"phpunit/phpunit": "4.1.2",
}
}
composer.jsonを修正したらupdateコマンドを打つ。
$ composer update
ライブラリを削除するときも、composer.jsonから削除して「$ composer update」でOK。
ライブラリの検索
使いたいライブラリは以下のサイトで検索する。
PEARのパッケージもメジャーどころは登録されているようなので、ライブラリ管理はComposerに一本化してよさそう。