この記事にはプロモーションが含まれています。

【初心者向け】Composerの使い方を丁寧に解説!【PHP】

【初心者向け】Composerの使い方を丁寧に解説!【PHP】

ケケンタ

Composerってよく見かけるけど、イマイチ使い方がわからないな……

今回はこうしたお悩みをお持ちの方へ向けて

PHPのWebアプリ開発にComposerを導入して
パッケージライブラリを使用する方法

を解説します。

Composerのインストールがお済みでない場合、まずは以下の記事をご覧ください。

目次

kindle日替わりセールバナー

————

WordPressのスキルを伸ばしたい方おすすめの書籍



Composerがインストールされているかの確認

念のため、まずはComposerがインストールされているかどうかを確認してみましょう。

STEP
コマンドプロンプトを起動する

Windowsキーを押してから検索窓にcmdと入力して、Enterキーを押します。

すると、コマンドプロンプトが起動します。

コマンドプロンプトの起動
コマンドプロンプトの起動
STEP
「composer」コマンドを実行

続いてcomposerと入力して、Enterキーを押します。

数秒ほど待って、以下のような表示が出ればComposerは無事にインストールできています。

Composerインストール成功確認画面
Composerインストール成功確認画面

もしComposerのインストールができていなければ、まずは以下の記事をご覧ください。

Composerを開発プロジェクトで使用する

Composerでパッケージを導入する大まかな手順は以下の通りです。

Composerでパッケージを導入する手順
  • composer.jsonファイルを新規作成する
  • composer.jsonファイルにインストールしたいパッケージ名:バージョンを記載する
  • ターミナルでcomposer installコマンドを実行する
  • パッケージを使用したいファイルでautoload.phpファイルを読み込む
  • 使用する「パッケージのクラス」を読み込む
STEP
composer.jsonファイルを新規作成する

Composerを導入したいプロジェクトディレクトリ内にcomposer.jsonファイルを新規作成します。

(例)TODOアプリ開発用に「todo」ディレクトリを用意している場合

STEP
composer.jsonにインストールしたいパッケージ名:バージョンを記載する

以下はログを取得するのに便利な「monolog」というパッケージライブラリをインストールする場合の記述です。

{
    "require": {
        "monolog/monolog": "*"
    }
}

バージョンを「*」にすることで、その時点での最新バージョンをインストールしてくれます。

パッケージ名の表記最新以外のバージョンについては、該当するパッケージ(今回だと「monolog」)のGithubのページでご確認いただけます。
https://github.com/Seldaek/monolog

パッケージ名の表記

パッケージにもよりますが、ページを少し下へスクロールした辺りにある「README」の最初の方に記載されていることが多いです。

パッケージ名の表記
パッケージ名の表記

バージョン確認(最新以外のバージョンを使用したいとき)

https://github.com/Seldaek/monologの右側メニューにバージョン情報が記述されています。

パッケージバージョンの確認
パッケージバージョンの確認
STEP
ターミナルで「composer install」コマンドを実行する

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

Windows11をお使いの場合、
プロジェクトディレクトリ内で「右クリック」→「ターミナルで開く」をクリックする
とターミナルを起動することができます。

プロジェクトディレクトリ内でターミナルを起動
プロジェクトディレクトリ内でターミナルを起動

composer installを実行

composer installを実行
composer installを実行

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

composer installの実行結果
composer installの実行結果

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

STEP
パッケージを使用したいファイルで「autoload.php」ファイルを読み込む

ここまでの手順で、Composerが自動的にパッケージをプロジェクトディレクトリ内にインストールしてくれました。

あとはパッケージを使用したいファイル内にautoload.phpファイルを読み込めばOKです。

autoload.php(オートロード)とは?

autoload.phpファイルとは、Composerの機能のひとつ「オートロード」を使用するためのファイルです。

通常、PHPで何らかのパッケージを使用する際には以下のように個別にファイルを読み込むコードを記述する必要があります。

require_once "hogehoge.php";

しかし、Composerの「オートロード」を使用することで、各パッケージの読み込みが自動的に行なわれるため、上記のようなコードを書く手間や書き忘れが防げます。

具体的には、パッケージを使用したいファイルの冒頭で以下のように記述をします。

require_once 'vendor/autoload.php';

autoload.phpファイルまでのパスは、パッケージを使用したいファイルを起点とした相対パスで記述しています。

STEP
使用する「パッケージのクラス」を読み込む

最後に、使用する「パッケージのクラス」をuseを用いて読み込みます。

以下はMonologを使用するときの一例
※実際には、実装したい機能に合わせて必要なクラスを読み込んでください。

require_once 'vendor/autoload.php';

use \Monolog\Logger;
use \Monolog\Handler\StreamHandler;

これでパッケージのクラスを利用して実装を進められるようになりました!

ケケンタ

以上が開発プロジェクトでComposerを利用する流れです!

ここまでの解説についてひとつ注意点をあげると、上記の流れはプロジェクトごとに行う必要があります。

コンピュータやサーバへComposerをインストールするのは一度だけでOKですが、実際にComposerを使用してパッケージ管理を行うときは、上記の手順を踏んでプロジェクトごとにComposerを導入する必要があります

(すでに分かっている方にとっては「何を言っているんだ……?」と、逆に混乱を招きかねないことは重々承知しているのですが、僕が初めてComposerを使用したときに戸惑った部分だったため、初心者の方向けに念のため補足させていただきました)

Composerを利用してパッケージを追加・更新・削除する方法

Composerでは、composer installコマンドを実行するとcomposer.lockファイルが作成されます。

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

上記によってパッケージ「intervention/image」が追加され、composer.jsonファイルも自動的に修正されます。

パッケージを「削除」する

パッケージを削除するときはremoveコマンドを使用します。

ただし、削除対象のパッケージに依存するパッケージは削除されずに残ってしまう点に注意してください。
例えば、パッケージAを削除しても、Aに依存してインストールされたパッケージBは削除されません。

参考:Composer でパッケージの削除は composer remove が良いと思ったらそうでも無かった[Qiita]

コマンドの形式

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が学べるプログミングスクール

【初心者向け】Composerの使い方を丁寧に解説!【PHP】のアイキャッチ画像

この記事が気に入ったら
フォローしてね!

この記事が良いと思ったらシェアしてね!

コメント

コメントする

CAPTCHA


目次