Composerを使ってPHPのプロジェクトを管理する

CodeZine / 2014年7月25日 14時0分

図3 psr-0,psr-4におけるフォルダ構造

 本連載では、Composerを使ったパッケージ管理を紹介します。前回は、Composer自身の利用方法や、管理されているライブラリなどの利用方法を紹介しましたが、今回は、ライブラリを作成する方法を通じて、composer.jsonの記述方法を紹介します。Composerを想定したライブラリを作成することで、オートローダー機能の提供や依存解決をComposerの機能を利用することができるために、ライブラリが利用しやすい形式で提供することが可能になります。

■対象読者

 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の構造


プロジェクトの基本プロパティ 依存ライブラリ情報 Autoloadの設定  「プロジェクトの基本プロパティ」は、プロジェクトを示す基本情報です。

図2 Packagistサイトでの表示例


 ここで設定した情報は、プロジェクト(ライブラリ)として公開したときには利用者が概要を知るために利用され、デフォルトでComposerのパッケージリポジトリとして使われているPackagistのサイトでは設定した内容が図2のように表示されます。

 公開しない場合には必須ではありませんが、プライベートなリポジトリで管理する場合にもライブラリの識別としてベンダー名やプロジェクト名は必要になるので設定しておくべきでしょう。「依存ライブラリ」は外部のライブラリを使う上で必要な設定です。利用するための概要については前回を参照してください。

 また、バージョンの記述方法など実際の利用時には気を付けるポイントがあり、基本的なルールを覚えておく必要があります。そして、ライブラリを作成する上では「Autoloadの設定」が最も大切です。ここでの指定は、プログラムを作成する上でのフォルダ構造やファイル名などコーディング規約を決定することでもあります。プログラムを作成してから指定すると後々、非常に面倒になるのでComposerであらかじめ指定できるコーディング規約を理解し、採用する方式を決定する必要があります。

 その他、「リポジトリ情報」は指定したライブラリがデフォルトのリポジトリ外にある場合や、自分で公開するライブラリを独自のリポジトリに置く場合に必要になります。また、「設定など、その他オプション」は利用方法で細かい調整が必要になる時に必要になる設定なので、次回説明します。



CodeZine

トピックスRSS

ランキング