==================== 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