PHPにおけるモダンな開発では、依存関係の管理やオートローディングを効率化するためにComposerが欠かせません。
本章では、Composerの基本とcomposer.json
の使い方、PSR-4によるオートローディング、そして実務でよく使われるライブラリ(vlucas/phpdotenv
、guzzlehttp/guzzle
)の導入方法を紹介します。

1. Composerの基礎と composer.json
ComposerはPHPのパッケージ管理ツールで、プロジェクトごとのライブラリの依存関係を管理・自動インストールしてくれます。
■ Composerのインストール(macOS / Linux)
curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer
■ プロジェクトへの初期化
composer init
コマンドで composer.json
が生成されます。
手動で直接編集することも可能です。
■ composer.json の例
{
"name": "example/project",
"require": {
"vlucas/phpdotenv": "^5.5"
},
"autoload": {
"psr-4": {
"App\": "src/"
}
}
}
composer install
を実行すると、指定された依存パッケージが vendor/
にインストールされ、autoload.php
が生成されます。
2. PSR-4オートローディング
PSR-4は、PHPクラスファイルを自動的に読み込むための標準仕様です。
Composerの autoload
セクションでルールを定義します。
■ オートロード設定の流れ
composer.json
のautoload.psr-4
に名前空間とディレクトリを指定- ファイルパスとクラス名を一致させる
composer dump-autoload
で反映
■ 例:src/Hello.php
composer.json
:
"autoload": {
"psr-4": {
"App\": "src/"
}
}
src/Hello.php
:
namespace App;
class Hello {
public function say() {
return "Hello Composer!";
}
}
利用側(例:index.php
):
require 'vendor/autoload.php';
use App\Hello;
$h = new Hello();
echo $h->say();
3. 実務で使う主要ライブラリの導入
■ Dotenv:環境変数を安全に管理
composer require vlucas/phpdotenv
.env
ファイルをルートに設置し、以下のように記述:
APP_ENV=development
DB_HOST=localhost
index.php
側で読み込み:
use Dotenv\Dotenv;
$dotenv = Dotenv::createImmutable(DIR);
$dotenv->load();
echo $_ENV['APP_ENV'];
■ Guzzle:HTTPクライアント
composer require guzzlehttp/guzzle
APIとの接続や外部サービスとの連携に便利です。
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('GET', 'https://jsonplaceholder.typicode.com/posts/1');
echo $response->getBody();
まとめ
Composerは、PHPにおけるモダンな開発を支える不可欠なツールです。composer.json
とautoload
の正しい使い方を理解し、DotenvやGuzzleのようなライブラリを活用することで、安全かつ効率的な開発環境を整えることができます。今後のPHP開発では、Composerベースの構成が標準になると考えてよいでしょう。