対象読者
PHPで開発を行っている方を対象としています。
必要な環境
この記事では、PHP 5.5を使用し、Windows 8.1、Linux(Cent OS 6.3)、Mac OSX(10.9)の環境で確認を行っています。ただし、Composer自身はPHP5.3.2以上からサポートしています。
composer.jsonの概要
前回も紹介しましたが、Composerで編集するファイルはcomposer.jsonというファイルのみです。このファイルの内容における構造は図1のようになっており大きく分けて5つほどありますが、ライブラリの作成では以下の3つのプロパティを設定する必要があります。
![図1 composer.jsonの構造](http://cz-cdn.shoeisha.jp/static/images/article/7887/7887_composer_struct.gif)
- プロジェクトの基本プロパティ
- 依存ライブラリ情報
- Autoloadの設定
「プロジェクトの基本プロパティ」は、プロジェクトを示す基本情報です。
![図2 Packagistサイトでの表示例](http://cz-cdn.shoeisha.jp/static/images/article/7887/7887_packagist_capture.gif)
ここで設定した情報は、プロジェクト(ライブラリ)として公開したときには利用者が概要を知るために利用され、デフォルトでComposerのパッケージリポジトリとして使われているPackagistのサイトでは設定した内容が図2のように表示されます。
公開しない場合には必須ではありませんが、プライベートなリポジトリで管理する場合にもライブラリの識別としてベンダー名やプロジェクト名は必要になるので設定しておくべきでしょう。「依存ライブラリ」は外部のライブラリを使う上で必要な設定です。利用するための概要については前回を参照してください。
また、バージョンの記述方法など実際の利用時には気を付けるポイントがあり、基本的なルールを覚えておく必要があります。そして、ライブラリを作成する上では「Autoloadの設定」が最も大切です。ここでの指定は、プログラムを作成する上でのフォルダ構造やファイル名などコーディング規約を決定することでもあります。プログラムを作成してから指定すると後々、非常に面倒になるのでComposerであらかじめ指定できるコーディング規約を理解し、採用する方式を決定する必要があります。
その他、「リポジトリ情報」は指定したライブラリがデフォルトのリポジトリ外にある場合や、自分で公開するライブラリを独自のリポジトリに置く場合に必要になります。また、「設定など、その他オプション」は利用方法で細かい調整が必要になる時に必要になる設定なので、次回説明します。