Slide 1

Slide 1 text

BEAR.Sundayの設計思想を Laravelと比較して理解する PHPerKaigi 2024 3/8 TrackA ルーキーズLT まさきち( エキサイト株式会社)

Slide 2

Slide 2 text

BEAR.Sundayとは 設計思想とMVCフレームワークとの違い コードを見ながらLaravelと比較 まとめ 01 02 03 04 アジェンダ 1

Slide 3

Slide 3 text

・PHPのWebフレームワーク ・API中心のRESTfulアプリケーション BEAR.Sundayとは 2

Slide 4

Slide 4 text

MVC パターンではなく RMR(Resource-Method-Representation) パターン 設計思想 3

Slide 5

Slide 5 text

RMRパターン? 4

Slide 6

Slide 6 text

Controller View Model Route MVCパターン リクエスト レスポンス 5 データベース

Slide 7

Slide 7 text

onGet onPost onDelete renderer 6 Representation (レスポンス) Method RMRパターン Resource リクエスト データベース

Slide 8

Slide 8 text

onGet onPost onDelete renderer 7 Representation (レスポンス) Method RMRパターン Resource リクエスト データベース

Slide 9

Slide 9 text

onGet onPost onDelete renderer 8 Representation (レスポンス) Method RMRパターン Resource リクエスト データベース

Slide 10

Slide 10 text

具体的な実装例で比較する 9

Slide 11

Slide 11 text

TODOアプリの動きをイメージします /todos にGETリクエストを送り、 TODO一覧を取得して表示する過程を見る TODOアプリ 10

Slide 12

Slide 12 text

Laravel のパターン 11

Slide 13

Slide 13 text

12 Laravel Route

Slide 14

Slide 14 text

13 Laravel Controller

Slide 15

Slide 15 text

BEAR.Sunday のパターン 14

Slide 16

Slide 16 text

15 BEAR.Sunday Appリソース DB から 情報を取得

Slide 17

Slide 17 text

16 BEAR.Sunday Pageリソース APP リソースから 情報を取得 Representation として返却

Slide 18

Slide 18 text

キャッチアップについて ・既知の概念と照らし合わせながら理解 ・処理の流れを図にしてイメージを掴む ・公式チュートリアル等を参考にコードを書く 17

Slide 19

Slide 19 text

BEAR.Sundayまとめ ・MVC とは異なる RMR パターン ・URL に対して一意のリソース ・HTTP メソッドに対してリソースのメソッド 18