オートローディングとライブラリ活用

現代現代の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-&gt;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-&gt;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といったフレームワークのコア構成でも使われています。

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