はじめに
PHPで開発をしていたら使うであろう Composer
についてまとめました。
目次
-
前提知識
- Composer
- composer.json
- composer.lock
-
コマンド
- composer init
- composer install
- composer update
- composer require
- composer remove
-
オプション
-
参考文献
前提知識
前提知識として以下のことを理解する必要があります。
Composer
依存関係にあるライブラリ( パッケージ )を管理してくれるツール のこと。
composer.json
プロジェクトで使用されているパッケージを定義している。
composer.lock
依存するパッケージのリストが記載されていて、バージョンをロックしている。
コマンド
"composer init"
composer init
「composer.json」 を生成するために使用するコマンド。
プロジェクトの一番はじめに使用するものなので使用頻度はあまり高くありません。
"composer install"
composer install
「composer.lock」 に書いてある内容を読み依存関係をインストールする。
composer init
コマンド直後( 初回 )は 「composer.lock」 が生成されていないはずなので 「composer.json」 の内容が読まれ**「composer.lock」** が生成される。
初回は install コマンドを使い二回目以降は update コマンドを使用する。
※ 新しいパッケージを導入するときは別コマンド( composer.update
か composer require
)を使用します。
"composer update"
composer update
「composer.json」 の内容をもとに update( 更新 ) する。
注意が必要で 「composer.lock」 の内容も update されるということ。複数人で開発していると、パッケージのバージョンに差異が出て開発した機能にバグが出てしまう恐れがある。
これを防ぐためにも update を使用するときは確認をリーダーに確認を取る、もしくは、パッケージを追加するときは require
コマンドを使用すると良いかもしれない。(あくまで個人的見解なのでチームのルールがあれば従ってください)
"composer require"
composer require [パッケージ名]
# 例えば
# PHPMDを追加
composer require "phpmd/phpmd=@stable"
パッケージを追加したいときに使用するコマンド。
"composer remove"
composer remove [パッケージ名]
# 例えば
# PHPMDを削除
composer remove "phpmd/phpmd"
パッケージの削除をしたいときに使用するコマンド。
オプション
コマンドの最後に --dev
をつけると 「composer.json」 の "require-dev" に読み込ませたり追加できたりすることができる。"require-dev" とは開発環境で使用している使用したいパッケージが定義されているということ。
他にもオプションはあるのでドキュメントを一度は覗いてみるとよいかもしれません。