PHP

Composer入門

外部ライブラリと自作クラスを、プロジェクトで整理して使いましょう。

01

Composerとは

Composerは、PHPプロジェクトが利用するライブラリとバージョンを管理するツールです。必要なパッケージは composer.json、実際に固定されたバージョンは composer.lock に記録されます。

composer.jsonComposerが依存関係を解決vendorへインストール
02

最初の準備

公式の手順でComposerをインストールしたら、プロジェクトのフォルダーで確認します。

バージョン確認COMMAND
composer --version

対話形式で composer.json を作る場合は、次のコマンドを使います。

初期化COMMAND
composer init
03

ライブラリを追加する

例として、日付操作ライブラリCarbonを追加します。パッケージ名とバージョン条件が設定ファイルへ記録されます。

パッケージ追加COMMAND
composer require nesbot/carbon
PHPから利用PHP
require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

echo Carbon::now()->format('Y年m月d日 H:i');
ポイント Packagistでパッケージの説明、更新状況、必要なPHPバージョンを確認してから導入しましょう。
04

自作クラスを自動で読み込む

PSR-4形式を設定すると、自作クラスをファイルごとに require せず利用できます。

composer.jsonJSON
{
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}
設定を反映COMMAND
composer dump-autoload

App\Service\Mailer クラスなら、src/Service/Mailer.php に配置します。名前空間とディレクトリ構造を対応させるのがポイントです。

05

よく使うコマンド

コマンド役割
composer installlockファイルに固定された構成を再現
composer update条件内で依存関係を更新しlockも更新
composer require 名前パッケージを追加
composer remove 名前パッケージを削除
composer outdated更新可能なパッケージを確認
composer audit既知の脆弱性などがある依存パッケージを確認
違いに注意 普段の環境構築や本番配備では install、依存バージョンを更新すると決めたときに update を使います。

composer outdated で更新候補を確認し、composer audit でインストール済みパッケージに既知のセキュリティ上の問題などがないか定期的に確認しましょう。問題が見つかった場合は内容を調べ、テストを行ったうえで安全なバージョンへの更新を検討します。

06

プロジェクトでの管理

Gitへ含めるもの
  • composer.jsoncomposer.lock はコミットする
  • vendor/ は通常コミットせず、環境ごとに composer install する
  • 導入後はテストを行い、更新内容を確認する
  • composer audit で脆弱性情報などを定期的に確認する

これでPHPの基礎から、データ保存、ログイン状態、ライブラリ管理まで一通り学べました。小さなWebアプリを完成させ、必要に応じて公式ドキュメントを引く習慣をつけましょう。