ケケンタComposerってよく見かけるけど、イマイチ使い方がわからないな……
今回はこうしたお悩みをお持ちの方へ向けて
PHPのWebアプリ開発にComposerを導入して
パッケージライブラリを使用する方法
を解説します。
Composerのインストールがお済みでない場合、まずは以下の記事をご覧ください。


Composerがインストールされているかの確認
念のため、まずはComposerがインストールされているかどうかを確認してみましょう。
Windowsキーを押してから検索窓にcmdと入力して、Enterキーを押します。
すると、コマンドプロンプトが起動します。


続いてcomposerと入力して、Enterキーを押します。
数秒ほど待って、以下のような表示が出ればComposerは無事にインストールできています。




Composerを開発プロジェクトで使用する
Composerでパッケージを導入する大まかな手順は以下の通りです。
composer.jsonファイルを新規作成するcomposer.jsonファイルにインストールしたいパッケージ名:バージョンを記載する- ターミナルで
composer installコマンドを実行する - パッケージを使用したいファイルで
autoload.phpファイルを読み込む - 使用する「パッケージのクラス」を読み込む
Composerを導入したいプロジェクトディレクトリ内にcomposer.jsonファイルを新規作成します。
(例)TODOアプリ開発用に「todo」ディレクトリを用意している場合


{
"require": {
"monolog/monolog": "*"
}
}バージョンを「*」にすることで、その時点での最新バージョンをインストールしてくれます。
パッケージ名の表記や最新以外のバージョンについては、該当するパッケージ(今回だと「monolog」)のGithubのページでご確認いただけます。
https://github.com/Seldaek/monolog
パッケージ名の表記
パッケージにもよりますが、ページを少し下へスクロールした辺りにある「README」の最初の方に記載されていることが多いです。


バージョン確認(最新以外のバージョンを使用したいとき)
https://github.com/Seldaek/monologの右側メニューにバージョン情報が記述されています。


プロジェクトディレクトリ内でターミナルを起動し、composer installコマンドを実行します。


composer installを実行


「vendor」ディレクトリと「composer.lock」ファイルが
作成されていれば成功


composer.lockファイルについて詳しく知りたい方は以下の記事をご覧ください。


ここまでの手順で、Composerが自動的にパッケージをプロジェクトディレクトリ内にインストールしてくれました。
あとはパッケージを使用したいファイル内にautoload.phpファイルを読み込めばOKです。
autoload.phpファイルとは、Composerの機能のひとつ「オートロード」を使用するためのファイルです。
通常、PHPで何らかのパッケージを使用する際には以下のように個別にファイルを読み込むコードを記述する必要があります。
require_once "hogehoge.php";しかし、Composerの「オートロード」を使用することで、各パッケージの読み込みが自動的に行なわれるため、上記のようなコードを書く手間や書き忘れが防げます。
具体的には、パッケージを使用したいファイルの冒頭で以下のように記述をします。
require_once 'vendor/autoload.php';最後に、使用する「パッケージのクラス」をuseを用いて読み込みます。
以下はMonologを使用するときの一例
※実際には、実装したい機能に合わせて必要なクラスを読み込んでください。
require_once 'vendor/autoload.php';
use \Monolog\Logger;
use \Monolog\Handler\StreamHandler;これでパッケージのクラスを利用して実装を進められるようになりました!



以上が開発プロジェクトでComposerを利用する流れです!
Composerを利用してパッケージを追加・更新・削除する方法
Composerでは、composer installコマンドを実行するとcomposer.lockファイルが作成されます。
composer.lockファイルとは、Composerで実際に読み込んでいるパッケージの情報(バージョンなど)が記述されているファイルです。
そのプロジェクト内で初めてcomposer installコマンドを実行すると、composer.jsonファイルが参照され、composer.lockファイルとvendorディレクトリが自動作成されます。
しかし、composer.lockファイルがある状態でcomposer installコマンドを実行すると
Composerはcomposer.jsonファイルは参照せず、composer.lockファイルを利用してパッケージのインストールを行います。
これはつまり、composer.jsonファイルを修正してcomposer installコマンドを実行しても、その修正内容がプロジェクトに反映されないことを意味します。



それなら、どうすればパッケージの追加・更新・削除ができるの……?
という点を、本章でご紹介します。


Composerでパッケージの「追加・更新・削除」をするときはコマンドを使う
一度composer installコマンドを実行してcomposer.lockファイルが作成されたあとは
コマンドを使用してパッケージの追加・更新・削除を行います。
パッケージを「追加」する
パッケージを追加するときはrequireコマンドを使用します。
コマンドの形式
composer require パッケージ名(例)intervention/imageを追加する
composer require intervention/image(例)intervention/imageを追加する(バージョンを指定)
composer require intervention/image:3.1.2パッケージを「削除」する
パッケージを削除するときはremoveコマンドを使用します。
コマンドの形式
composer remove パッケージ名(例)intervention/imageを削除する
composer remove intervention/imageパッケージを「更新」する
パッケージを削除するときはupdateコマンドを使用します。
コマンドの形式
composer update パッケージ名(例)intervention/imageを更新する
composer update intervention/imageどのパッケージが更新されるかを事前に確認するには--dry-runオプションを利用します。
composer update --dry-run パッケージ名これにより、更新されるパッケージを事前に確認することが可能です。
Composerを活用してPHP開発を効率化しよう!
以上がComposerの基本的な使用方法です。
ComposerはPHPのパッケージライブラリを自動で管理してくれる便利なツールです。
Composerを利用することで、PHP開発にパッケージを導入するのが簡単になり、結果的に開発効率が向上します。
初心者の方にとってはハードルが高い側面もあるかとは思いますが、まずはローカル環境で試すなどして、少しずつ慣れていくことをおすすめします。



脱初心者を目指すならComposerの利用は欠かせません。
この記事をご参考に、ぜひ挑戦してみてください!
当ブログではPHPやWordPress、Web制作に関する情報を発信しています。
ご興味のある方は、ぜひほかの記事もご覧いただけるとうれしいです!


















コメント