移行が困難な独自フレームワークを拡張し、モダンな開発者体験を実現した事例 by 山下 祐

PHP Conference Japan 2025
レギュラートーク(25分)

移行が困難な独自フレームワークを拡張し、モダンな開発者体験を実現した事例

task2021 山下 祐 task2021
6

多くの機能が長年にわたり運用されてきたPHPベースの独自フレームワーク上で構築されているプロダクトでは、当時の要件や技術スタックに基づいた設計が、現代の開発観点から見て様々な制約となる場面が少なくありません。

OSSフレームワークへの移行が選択肢として取れない状況下で、既存の独自フレームワークを活かしながら、いかに開発体験をモダンに近づけていくか。本セッションでは、その現実的な選択と具体的な手法をご紹介します。

以下のような具体的な取り組みを中心に解説します。

  • PSR準拠コードとの共存を実現する拡張レイヤーの設計
    • 既存の独自フレームワークの上に薄いレイヤーを重ねることで、PSR-7/15に準拠したミドルウェアやハンドラを導入可能な構造を構築
  • リファクタリングを先送りしつつ、設計改善を進めるアーキテクチャ戦略
    • ヘキサゴナルアーキテクチャの導入により、既存コードへの依存を抑えながら新機能をクリーンに追加していくアプローチの紹介
  • Controller粒度の振る舞いを検証可能なFeature Test基盤の整備
    • LaravelやSymfonyのようなテスト基盤を模倣し、リファクタリング耐性を向上するための自動テストを構築可能にする手法
  • OpenAPIを活用したスキーマ駆動開発と開発支援ツールの内製化
    • OpenAPIスキーマをもとに、雛形コードを生成するスキャフォールディングツールの作り方
    • フロントエンド/バックエンドでスキーマを共有するための仕組み
  • OpenAPIスキーマベースのバリデーション導入とパフォーマンスへの対策
    • 実運用を通じて見えてきた課題と、性能劣化を抑えながらスキーマバリデーションを有効活用するための具体的な改善手法を共有