その場にいる皆さんと一緒にオレオレフレームワークを作ってみましょう by きんじょうひでき

PHPカンファレンス福岡2023
レギュラートーク(45分)

その場にいる皆さんと一緒にオレオレフレームワークを作ってみましょう

o0h_ きんじょうひでき o0h_
3

FWの気持ちを理解できると、きっと素敵ですよね
その為に「自分でFWを作ってみる」というアプローチがあります。今風の要件を備えた物を自作する事で、普段使っているFWを読み解く勘所を掴みやすくするのです

PHPerKaigi 2023では、FWの自作は開発者のレベルを高めるはずだ!という仮定のもと、今風のFWの要件を考察し実装するというテーマのトークを行いました
今回のトークでは、その際に得たFWを例に、実際に動くものを作り上げていく事に主眼を置いて発表します
ハンズオンっぽい形やライブコーディング風の説明を多く取り入れるので、是非その場で一緒に手を動かしながら聞いてください

狙い

  • FW、怖くないやい!読める!と思える
    • 普段から気軽にFWのコードリーディングをしちゃう人を増やす
  • DIコンテナの使われ方(FWがどう依存を注入しているか)を掴む
  • PSR-15/ミドルウェアパターンのイメージを掴む

対象

内容

  1. 作成するFWの概要
  2. FWを作ってみる
  3. 2を使って簡単なアプリを作成する

「2. FWを作ってみる」のスコープ

  • ルーティング、ディスパッチ
  • PSR-15のミドルウェア
  • コンテンツの描画(プレゼンテーション層)
  • コンテンツを出力するEmitter
  • ユースケースの処理(アクション)

※ 以下は実装を割愛

  • DIコンテナ(PSR-11): league/containerを利用
  • HTTP Factories(PSR-17): nyholm/psr7を利用
  • DB層(”モデル”): 割愛