phpat による実践的な クリーンアーキテクチャ の構造定義の実施と CI 化 by ぬさし

PHPerKaigi 2024
レギュラートーク(20分)

phpat による実践的な クリーンアーキテクチャ の構造定義の実施と CI 化

nukisashineko ぬさし nukisashineko
1

クリーンアーキテクチャを知っていますか?
そう(層)ですね。

クリーンアーキテクチャは層を切り分けることで、テストをし易い構造を作る設計手法です。
Controller -> UseCase -> Repository -> DataAccessObject
          -> QueryService -> DataAccessObject
          -> Service -> DomainService

こういった IO や処理を切り離し、各層において逆順での接続を許さないことで
ある程度のビジネスや機能に沿った実装をメインに置きながら、テストをしやすくした機構になります。
これだけをメインに据えたものは 軽量DDD ともいわれますね。

この構造を維持をするのは、人力レビューが基本のため、とても手間がかかります。
しかし、 php には phpat というアーキテクチャの定義ライブラリが有るのです。
これを使うことで、この構造を機械的に確認してくれるようになります。

リアーキテクチャを行う際に phpat を設定し、
1 年程度 実際に運用した内容とその変遷、
簡単な設定方法について皆さんにお話させていただきたいと思います。