====================
Composer入門
====================
Composerとは
============================
| ComposerはPHPのパッケージ管理システムです。Composerを使えばアプリケーションで使用している
| PHPで出来ているライブラリの依存関係やバージョンを管理することができます。
| Composer用のリポジトリである `packagist `_ にあるライブラリはもちろん
| PEARやGitリポジトリ上にあるアプリケーションや独自のライブラリなど、それ以外のライブラリも管理することができます。
|
| 使い方のおおまかな流れは、json形式でパッケージの関係を記述してコマンドを実行し、インストールします。
| インストールすると、どのバージョンをインストールしたかが記述されたファイルが作成されます。
| 以後、再度インストールを実行しても、そのときに記述されたバージョンに従ってインストールされます。
| バージョンを上げるコマンドもあり、新しいバージョンに上げることも簡単にできます。
|
Composerのインストール方法
===================================
Composerを使うにはPHP5.3.2以上を使っている必要があります。
Windowsの場合
--------------------
Windowsの場合、`Composer-Setup.exe `_ を実行し、インストールすることができます。
Macなどの場合
----------------------
ターミナルを開いて下記のコマンドを実行することでインストールすることができます。
.. code-block:: bat
curl -s https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
インストール後
----------------------
インストール後、composerとコマンドを入力して、ロゴが出れば成功です。
composer.jsonへライブラリを登録する
================================================
| アプリケーションで必要なライブラリや依存関係をcomposerではjson形式で記述しcomposer.jsonという名前で保存します。
| composer.jsonの保存場所はアプリケーションのルートディレクトリです。
require キー
----------------
| composer.jsonに記述するものとして最も一般的でよく使うのはrequireキーです。
| requireキーでは必要なパッケージを記述します。
.. code-block:: json
{
"require": {
"monolog/monolog": ">=1.0.0",
"kertz/twitteroauth": "dev-master"
}
}
| `packagist `_ に存在するラ必要なイブラリはこのように記述します。
| "monolog/monolog"や"abraham/twitteroauth"はライブラリの名前です。
| ">=1.0.0"と"*"はバージョンの指定です。
バージョンの指定
--------------------
ピッタリの番号を指定する以外にも、ワイルドカード、以上、以下、未満などと言った表記も可能です。
例:
============== ====================================================================
表記 説明
============== ====================================================================
1.0.2 厳密なバージョン指定
>=1.0,<2.0 バージョン1.0以上、2.0未満。カンマで区切ることで複数指定可能。
1.0.\* この場合はバージョン1.0.0以上、1.1.0未満と同じ。
============== ====================================================================
ライブラリをインストールする
=========================================
| composer.jsonを保存したら、composer.jsonと同一のディレクトリで
.. code-block:: bat
composer install
| 上記のようにコマンドを実行してください。
| すると、vendorというディレクトリが作成されるはずです。
| vendorディレクトリの下にjsonで指定したライブラリや、autoload.phpなどが作成されています。
|
| また、composer.jsonと同じディレクトリに、composer.lockというファイルが作成されます。
composer.lock
---------------------------
| composer.lockはcomposer installを実行した時に、どのバージョンのライブラリがインストールされたかを厳密に記録してあります。
| 以後、再度composer installを実行しても全く同じバージョンがインストールされます。
| 自動的にライブラリのバージョンがアップデートされることはありません。
|
| バージョンをアップデートしたい場合は
.. code-block:: bat
composer update
| を実行します。
| このコマンドはcomposer.lockの内容を無視して、composer.jsonの内容にそって実行します。
| その後、新しいcomposer.lockが作成され上書きされます。
.. note::
プロジェクトをGitなどのバージョン管理システムで管理する場合、composer.jsonとcomposer.lockはバージョン管理の対象します。vendorディレクトリは管理外にしておきましょう。
インストールしたライブラリを利用する
==========================================
| composerにはライブラリを利用する方法としてautoload.phpが用意されています。
| PHPアプリケーション本体からインストールしたライブラリを利用するには、
.. code-block:: php