現代現代のPHP開発では、Composerを使ったパッケージ管理と、PSR-4に準拠したオートローディングが標準となっています。
Laravelをはじめとする多くのフレームワークやライブラリもComposerに依存しており、今やComposerなしでPHPを書くことは非現実的とすら言えます。
本記事では、Composerの基本操作、PSR-4オートローディングの仕組み、DotenvやGuzzleなどの主要ライブラリ導入を解説します。

Composerの基礎と composer.json
Composerとは?
Composer はPHPの依存関係管理ツールです。必要なライブラリのバージョンを定義し、自動でダウンロード・インストール・更新してくれます。
インストール(グローバル)
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
プロジェクト初期化
composer init
対話式で composer.json
が生成され、プロジェクト設定が保存されます。
composer.jsonの例
{ "name": "myproject/api", "description": "RESTful API project", "require": { "guzzlehttp/guzzle": "^7.0", "vlucas/phpdotenv": "^5.5" }, "autoload": { "psr-4": { "App\\": "src/" } } }
composer install
を実行すると依存ライブラリが vendor/
にインストールされます。
PSR-4オートローディングとは?
PSR-4は、PHP標準推奨仕様(PHP Standard Recommendation)の1つで、クラス名とファイルパスを対応させる命名規則です。
構成例
/project
├── composer.json
├── src/
│
└── Controller/
│
└── UserController.php
クラス例
<?php
namespace App\Controller;
class UserController {
public function index() {
return "ユーザー一覧表示";
}
}
?>
読み込みと実行
<?php
require 'vendor/autoload.php';
use App\Controller\UserController;
$controller = new UserController();
echo $controller->index();
?>
composer.json に定義された "App\\": "src/"
に従って、自動でクラスが読み込まれます。
主要ライブラリの導入と使い方
① vlucas/phpdotenv(環境変数管理)
.env
ファイルに設定値を記述し、環境ごとに管理できます。
インストール
composer require vlucas/phpdotenv
.env ファイル
DB_HOST=localhost DB_USER=root DB_PASS=secret
読み込みと利用
<?php
require 'vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
echo $_ENV['DB_HOST']; // localhost
?>
② guzzlehttp/guzzle(HTTPクライアント)
Guzzle は、外部APIと連携するための高機能なHTTPクライアントです。
インストール
composer require guzzlehttp/guzzle
使用例(GETリクエスト)
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('GET', 'https://api.github.com/users/octocat');
$data = json_decode($response->getBody(), true);
echo "ユーザー名:" . $data['login'];
?>
POSTリクエストも簡単
$response = $client->post(
'https://example.com/api', [ 'json' => ['title' => '新規投稿', 'body' => '本文内容'] ]
);
まとめ
本記事では、現代PHP開発に必須の Composerとパッケージ管理 について以下を学びました:
- Composerの基本操作: init, install, require
- PSR-4オートローディング: 名前空間ベースのクラス読み込み
- 主要ライブラリ導入: Dotenvで環境管理、GuzzleでHTTP通信
これらは、LaravelやSlimといったフレームワークのコア構成でも使われています。