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制作に関する情報を発信しています。
ご興味のある方は、ぜひほかの記事もご覧いただけるとうれしいです!
また、もしもPHPの独学に限界を感じているなら、一度スクールを検討してみるのも良いかもしれません。
無料でPHPが学べるプログミングスクール
コメント