この記事は下記プロポーザルの補助記事です。
https://fortee.jp/phpcon-2019/proposal/83963c84-1f47-4cf7-8b6e-4112a2360cd8
資料と資料中の github リポジトリが多くあるのでこの記事にまとめます。
スライド
動画
みなさんの反応
https://togetter.com/li/1437472
[PHP Conference Japan 2019]「思想と理想の果てに――クリーンアーキテクチャのWEBフレームワークを作ろう」のまとめ(togetter)
各種リポジトリと概要
cfg
クラスファイルを生成するライブラリです。
クラスファイルをパースする機能も少し追加されています。
clarc-php-core
https://github.com/nrslib/clarc-php-core
クリーンアーキテクチャの構成例に従って、必要になるオブジェクトを生成する処理です。
clarc-laravel-plugin
https://github.com/nrslib/clarc-laravel-plugin
clarc-php-core を使ってスキャフォールディングする機能を Laravel に追加するためのプラグインです。
clarc:init コマンドで初期化を行い、clarc:make でユースケースに関わるオブジェクトを対話形式で生成します。
clarc-php-concept
https://github.com/nrslib/clarc-php-concept/
実際にフレームワークにしたときのコンセプトです。
Scaffolding, IoC Container, いさぎのよい Routing があります。
そのほかクリーンアーキテクチャの記事
Java
実践クリーンアーキテクチャ with Java
https://nrslib.com/clean-architecture-with-java/
JJUG CCC 2019 Spring で発表した Java 版実践クリーンアーキテクチャ。
説明はもっとも分かりやすいと思います。
PHP
Laravelで実践クリーンアーキテクチャ
https://qiita.com/nrslib/items/aa49d10dd2bcb3110f22
実践クリーンアーキテクチャの Laravel 版。
Laravelでクリーンアーキテクチャ
https://qiita.com/nrslib/items/eaf39be65b2ebe5ccf08
Laravel で忠実に(Presenter を使う)再現した実装。
C#
実践クリーンアーキテクチャ
https://nrslib.com/clean-architecture/
クリーンアーキテクチャを Web に適用した実践編。
実プロダクトを模した構成。
実装クリーンアーキテクチャ
https://qiita.com/nrslib/items/a5f902c4defc83bd46b8
クリーンアーキテクチャに忠実に実装した記事。