Composerとパッケージ管理の基本

PHPにおけるモダンな開発では、依存関係の管理やオートローディングを効率化するためにComposerが欠かせません。
本章では、Composerの基本とcomposer.jsonの使い方、PSR-4によるオートローディング、そして実務でよく使われるライブラリ(vlucas/phpdotenvguzzlehttp/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.jsonautoload.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.jsonautoloadの正しい使い方を理解し、DotenvやGuzzleのようなライブラリを活用することで、安全かつ効率的な開発環境を整えることができます。今後のPHP開発では、Composerベースの構成が標準になると考えてよいでしょう。

採用情報 長谷川 横バージョン
SHARE
PHP Code Snippets Powered By : XYZScripts.com