ざっくりとComposerを使う。
Composerとはなんぞや
まずは、ざっくりとComposerについて説明
Composerはプロジェクト単位のPHPパッケージ管理ソフト。
PHPで設定ファイルを読みこんで、Webから指定されたパッケージをダウンロードしてディレクトリに配置したり削除したりする。
なので、PHPが動く環境が必要。
WindowsでもXAMPPなどでphp.exeがインストールされていれば使える。
Composerをインストール
環境はCentOSを想定。
またphp -v でPHP5.3以上が動くことが前提。
Windowsの場合はこちらの記事を参考に。
まず、rootになる。
次に以下のコマンドを実行。
curl -sS https://getcomposer.org/installer | php -- --install-dir=/bin --filename=composer
そして、composer -V で確認。
今回は、どこからでも使えるように/bin以下に作成したけど、プロジェクトのディレクトリにインストールしてもよい。
プロジェクトにパッケージを展開
次は、プロジェクトのディレクトリに移動する。
composer.jsonというファイルを作る。
今回は、Carbonという時刻管理パッケージをインストールする。
下記のように記述する。
{ "require": { "nesbot/carbon": "~1.14" } }
んで、composer install を実行。
composer show -i でインストールされているか確認。
無事にインストールされいると、composer.lockファイルとvendorディレクトリができている。
composer.jsonがインストールさせたいパッケージの命令書
composer.lockがインストールされているパッケージの情報
vendorディレクトリ以下が、インストールされたパッケージの実体
追加も削除も、composer.jsonを編集してcomposer update で、自動で行われる。
また、必ずvendorディレクトリとは限らない。
それが何かのプラグインならば、Plugin/ディレクトリが作成されたりする。
コード上でパッケージを使う方法
vendorディレクトリのautoload.phpを読み込むことで、後は使いたいところで使いたいクラスがロードされる。
実際に使用した例は以下のとおり
require 'vendor/autoload.php'; use Carbon\Carbon; echo Carbon::now()->toDateTimeString();
パッケージバージョンの書き方
requireキーで書くパッケージのバージョンの書き方はいくつかある
特定のバージョン
ex.1.0.2
範囲
演算子で範囲を指定する
ex.
- >=1.0
- >=1.0 <2.0
- >=1.0 =1.2
ハイフンで範囲
ex.1.0 – 2.0
ワイルドカード
1.0以上1.1未満を指す場合は以下のように書く
ex.1.0.*
チルダ(~)
~1.2で1.2以上2.0.0未満
~1.2.3で1.2.3以上1.3.0未満
ex.~1.2