Composer
この項目では、PHP向けのパッケージ管理システムについて説明しています。その他の用法については「コンポーザー」をご覧ください。 |
開発元 | Nils Adermann, Jordi Boggiano |
---|---|
最新版 | 2.6.6 / 2023年12月9日 (9か月前) (2023-12-09)[1] |
リポジトリ |
|
プログラミング 言語 | PHP |
対応OS | クロスプラットフォーム |
サポート状況 | 活発 |
種別 | パッケージ管理システム |
ライセンス | MIT License |
公式サイト | getcomposer |
テンプレートを表示 |
Composerは、PHPプログラミング言語向けのソフトウェアおよび必要なライブラリの依存関係を管理する標準形式を提供するアプリケーションレベルのパッケージ管理システムである。 Nils AdermannとJordi Boggianoにより開発され、現在も両氏によってプロジェクトの管理が継続されている。両氏は2011年4月に開発を開始し、2012年3月1日に初めてリリースされた[2]。Node.jsのnpmおよびRubyのbundler(英語版)から強い影響を受けている[3]。
コマンドライン上で動作し、アプリケーションが依存するライブラリなどをインストールする。 また、利用可能なパッケージを含んでいるメインリポジトリ『Packagist』[4] で利用可能なPHPアプリケーションをインストールすることも可能であるほか、ライブラリ向けにサードパーティーのコードを容易に利用出来るオートロード情報を指定できる機能も提供されている。
また、Laravelを含めた有名なオープンソースのPHPプロジェクトの重要な機能の一部として利用されている[5]。
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 { .. }
脚注
[脚注の使い方]
- ^ “Release · composer/composer · GitHub”. 2024年1月3日閲覧。
- ^ Software CHANGELOG, github.com, Retrieved November 28, 2013.
- ^ Getting Started/Dependency management, getcomposer.org, Retrieved November 28, 2013.
- ^ See packagist.org
- ^ Maks Surguy (7月27日2013年). “History of Laravel PHP framework, Eloquence emerging”. maxoffsky.com. 5月10日2015年閲覧。
外部リンク
- 公式ウェブサイト
- Composer on GitHub
- Composer documentation
- Composer Tutorial
- Packagist - the main Composer repository
- Composer - Open Hub
PHP | ||
---|---|---|
実装 | ||
ライブラリ |
| |
フレームワーク | ||
IDE | ||
人物 | ||
その他 |
| |
|
| ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パッケージ形式(英語版) | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
|