Composerは、PHPプログラミング言語向けのソフトウェアおよび必要なライブラリの依存関係を管理する標準形式を提供するアプリケーションレベルのパッケージ管理システムである。 Nils AdermannとJordi Boggianoにより開発され、現在も両氏によってプロジェクトの管理が継続されている。両氏は2011年4月に開発を開始し、2012年3月1日に初めてリリースされたSoftware CHANGELOG, github.com, Retrieved November 28, 2013.。Node.jsのnpmおよびRubyのから強い影響を受けているGetting Started/Dependency management, getcomposer.org, Retrieved November 28, 2013.。

コマンドライン上で動作し、アプリケーションが依存するライブラリなどをインストールする。 また、利用可能なパッケージを含んでいるメインリポジトリ『Packagist』See packagist.org で利用可能なPHPアプリケーションをインストールすることも可能であるほか、ライブラリ向けにサードパーティーのコードを容易に利用出来るオートロード情報を指定できる機能も提供されている。

また、Laravelを含めた有名なオープンソースのPHPプロジェクトの重要な機能の一部として利用されている。

Composerに対応するフレームワーク

Symfony バージョン 2 以降 Laravel バージョン 4 以降 CodeIgniter バージョン 3.0 以降 CakePHP バージョン 3.0 以降 FuelPHP バージョン 2.0 以降 Drupal バージョン 8 以降 Silex

composer.json Composerでクラスのオートローディングなどをするためには composer.json というファイルを記述しなければならない。以下の示すcomposer.jsonはPHPのPHP-FIGが提供しているコーディング規約「PSR-4」に準じたオートローディングをするためのファイルである。ユーザーは MyAppという名前空間を使ってコーディングしなければならない。 { "autoload" : { "psr-4" : { "MyApp\\" : "folder/"

以下はサンプルコードである。 <?php

namespace MyApp;

class ClassName { .. }

脚注

外部リンク

Composer on GitHub Composer documentation Composer Tutorial Packagist - the main Composer repository