====== Composer ======
--- //[[http://www.y2sunlight.com|y2sunlight]] 2020-03-08//
{{https://getcomposer.org/img/logo-composer-transparent3.png?100}}\\
[[https://github.com/composer/composer/blob/master/LICENSE|MIT License]]
ComposerはPHPプログラミング言語向けのパッケージ管理システムです。マルチプラットフォームのオープンソース(MIT License)で、
Nils AdermannとJordi Boggianoにより2012年3月1日に初版がリリースされて以来、活発に更新されています。
Composerを機能の一部として利用しているPHPのフレームワークには以下のものがある。(筆者の興味があるものだけを挙げる)
* [[https://laravel.com/|Laravel]] --- Version 4 以降
* [[https://symfony.com/|Symfony]] --- Version 2 以降
* [[https://cakephp.org/jp|CakePHP]] --- Version 3.0 以降
* [[https://fuelphp.com/|FuelPHP]] --- Version 2.0 以降
> Composerサイトの[[https://getcomposer.org/doc/00-intro.md|イントロダクション]]の冒頭では次のように書いてあります。「ComposerはPHPの依存性管理ツールです」と。なので「パッケージ管理システム」と呼ぶと怒られそうですがまぁそれはそれとして...
=== Composerの必要性と特徴 ===
一般にプログラム開発ではさまざまな外部のライブラリ(環境設定、ログ出力、ORマッパー、Viewテンプレート、URLルーティング等)を使用しているので、それらパッケージ間の依存性を解決してそれをプロジェクトメンバーで共有できるパッケージ管理システムが必要になります。Composerでは、パッケージ間の依存定義ファイル(composer.json)に従いパッケージの公式サイトからzipファイルをダウンロードし、ローカルに展開します。この依存定義ファイルさえ共有すればメンバー同士で同じライブラリの共有が可能になります。
また、Composerはパッケージ管理の機能以外に、オートロードという機能も持っています。この機能を使えばライブラリに対する個々のrequire文を使用しなくてもライブラリを読み込むことができます。composerを使用してライブラリをインストールすることで、autoload.phpというファイルが生成され、このファイルさえrequireすればライブラリのオートロードができ、開発効率が大きくに向上します。
リンク
* [[https://getcomposer.org/]] --- Composer の本家
* [[https://getcomposer.org/doc/]] --- Composer ドキュメント(英語)
===== 目次 =====
インストール
* [[composer:1.9:install|Composerのインストール]]
* [[composer:1.9:phpswitch|ComposerをPHPバージョンで使い分ける]]
* [[composer:1.10:local-install|Composerのローカルインストール]]
使い方
* [[composer:1.9:basic-usage|Composer 基本的な使い方]]
* [[composer:1.9:command-list|Composer コマンド一覧]]
* [[composer:1.9:version-constraints|Composer バージョン制約]]
\\