Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
Search
よしたろう
July 10, 2022
Programming
0
3.7k
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
よしたろう
July 10, 2022
Tweet
Share
More Decks by よしたろう
See All by よしたろう
銀河英雄伝説・攻殻機動隊 から人としてのあり方を学んだ
yoshitaroyoyo
1
16
視点の探索と取得〜見える世界が変わるとは何か?何が見えるようになるのか?
yoshitaroyoyo
1
57
フォロワーを活かすリーダー リーダーを活かすフォロワー
yoshitaroyoyo
1
100
対話・多様性が イノベーション・情報精緻化・組織学習に繋がる
yoshitaroyoyo
1
41
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方
yoshitaroyoyo
3
1.6k
世界のTOPが世界をどう捉えているのか知りたくないっすか?
yoshitaroyoyo
1
50
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
250
組織学習とアジャイル
yoshitaroyoyo
1
290
スクラムマスターのお仕事.pdf
yoshitaroyoyo
0
130
Other Decks in Programming
See All in Programming
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
320
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
740
CI改善もDatadogとともに
taumu
0
120
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
910
SpringBoot3.4の構造化ログ #kanjava
irof
2
1k
Conform を推す - Advocating for Conform
mizoguchicoji
3
690
SwiftUI Viewの責務分離
elmetal
PRO
1
240
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
2
340
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
260
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
Unity Android XR入門
sakutama_11
0
160
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Facilitating Awesome Meetings
lara
52
6.2k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Code Review Best Practice
trishagee
67
18k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Bash Introduction
62gerente
611
210k
Transcript
3ΞʔΩςΫνϟͱMVCϞσϧ L a r a velʹ͓͚ΔMVCϞσϧͷྲྀΕ 2022/07/04 @yoshit a ro
ɾ3ΞʔΩςΫνϟͱMVCϞσϧ 1. Web 3ߏ 2. 3ΞʔΩςΫνϟͱMVCͷؔ 3. L a r
a velʹ͓͚ΔMVC 4. -୯Ұݪଇ-
ɾ3ΞʔΩςΫνϟͱMVCϞσϧ 1. Web 3ߏ 2. 3ΞʔΩςΫνϟͱMVCͷؔ 3. L a r
a velʹ͓͚ΔMVC 4. -୯Ұݪଇ-
Ҿ༻ݩɿWeb Architecture 101
Ҿ༻ݩɿWeb Architecture 101
1. Web 3ߏ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ɾWebΫϥΠΞϯτ (ϒϥβ) ͱHTTP௨৴Λ ߦ͏ϓϩάϥϜ
ex. Apache HTTP Server nginx ɾHTTPϦΫΤετʹରԠͨ͠ ॲཧΛߦ͍ʢCRUDʣ ΞϓϦέʔγϣϯͷ࣮ߦ݁ՌΛฦ͢ ʢܭࢉ݁Ռऔಘͨ͠σʔλʣ ɾAPαʔό͔Βͷཁٻ ʹै͍ॲཧΛ࣮ߦ͠ ݁ՌΛAPαʔόʹฦ͢ ※ड ※۩ମతͳॲཧ ※σʔλϕʔε ex. MySQL PostgreSQL ex. PHP Java HTTP HTTP
ɾ3ΞʔΩςΫνϟͱMVCϞσϧ 1. Web 3ߏ 2. 3ΞʔΩςΫνϟͱMVCͷؔ 3. L a r
a velʹ͓͚ΔMVC 4. -୯Ұݪଇ-
ΫϥΠΞϯτ 2. 3ΞʔΩςΫνϟͱMVCͷؔ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ᶃHTTPϦΫΤετ Λड͚औΔ ᶈHTTPϨεϙϯε Λฦ͢
ᶄHTTPϦΫΤετʹԠͨ͡ ॲཧʢσʔλऔಘͳͲʣ ᶇऔಘͨ͠σʔλܭࢉ݁ՌΛ HTTPϨεϙϯεͱͯ͠ฦ͢ ᶅAPαʔόϦΫΤετ ʹै͍SQLΛ࣮ߦ͠ DBΛૢ࡞͢Δ ᶅDBΛૢ࡞ͯ͠ औಘͨ͠σʔλΛ͢ ※ड ※۩ମతͳॲཧ ※σʔλϕʔε HTTP HTTP CRUD ॲཧ݁Ռ
ΫϥΠΞϯτ 2. 3ΞʔΩςΫνϟͱMVCͷؔ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ※ड ※۩ମతͳॲཧ ※σʔλϕʔε HTTP
HTTP ϓϨθϯςʔγϣϯ ϏδωεϩδοΫ σʔλΞΫηε Ϣʔβʔͱͷ ΓऔΓ ɾϖʔδͷಡΈऔΓ ɾೖྗͷड DBΛૢ࡞͠ ݁ՌΛอଘ͢Δ ɾॻ͔ͳ͍ࣄ͋Δ ϓϩάϥϜͰ ॲཧΛߦ͏ ɾϧʔϧΛͭ CRUD ॲཧ݁Ռ
ΫϥΠΞϯτ 2. 3ΞʔΩςΫνϟͱMVCͷؔ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ※ड ※۩ମతͳॲཧ ※σʔλϕʔε HTTP
HTTP ϓϨθϯςʔγϣϯ ϏδωεϩδοΫ σʔλΞΫηε Ϣʔβʔͱͷ ΓऔΓ ɾϖʔδͷಡΈऔΓ ɾೖྗͷड ϓϩάϥϜͰ ॲཧΛߦ͏ ɾϧʔϧΛͭ DBΛૢ࡞͠ ݁ՌΛอଘ͢Δ ɾॻ͔ͳ͍ࣄ͋Δ View Controller Model CRUD ॲཧ݁Ռ
ΫϥΠΞϯτ 2. 3ΞʔΩςΫνϟͱMVCͷؔ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ※ड ※۩ମతͳॲཧ ※σʔλϕʔε HTTP
HTTP ϓϨθϯςʔγϣϯ ϏδωεϩδοΫ σʔλΞΫηε Ϣʔβʔͱͷ ΓऔΓ ɾϖʔδͷಡΈऔΓ ɾೖྗͷड ϓϩάϥϜͰ ॲཧΛߦ͏ ɾϧʔϧΛͭ DBΛૢ࡞͠ ݁ՌΛอଘ͢Δ ɾॻ͔ͳ͍ࣄ͋Δ View Controller Model CRUD ॲཧ݁Ռ
ΫϥΠΞϯτ 2. 3ΞʔΩςΫνϟͱMVCͷؔ Webαʔό ΞϓϦέʔγϣϯαʔό DBαʔό ※ड ※۩ମతͳॲཧ ※σʔλϕʔε HTTP
HTTP ϓϨθϯςʔγϣϯ ϏδωεϩδοΫ σʔλΞΫηε Ϣʔβʔͱͷ ΓऔΓ ɾϖʔδͷಡΈऔΓ ɾೖྗͷड ϓϩάϥϜͰ ॲཧΛߦ͏ ɾϧʔϧΛͭ DBΛૢ࡞͠ ݁ՌΛอଘ͢Δ ɾॻ͔ͳ͍ࣄ͋Δ View Controller Model CRUD ॲཧ݁Ռ
ʮΓ͓લΒͷMVCؒҧ͍ͬͯΔʯɹPHPΧϯϑΝϨϯε2012 & WordCampTokyo2012 LTൃදࢿྉͰ͢ɻ ΑΓҾ༻ɿhttps://www.slideshare.net/MugeSo/mvc-14469802
ɾ3ΞʔΩςΫνϟͱMVCϞσϧ 1. Web 3ߏ 2. 3ΞʔΩςΫνϟͱMVCͷؔ 3. L a r
a velʹ͓͚ΔMVC 4. -୯Ұݪଇ-
3. Laravelʹ͓͚ΔMVC View Controller ArticleController.php Model Article.php articel.blade.php
ΫϥΠΞϯτ 3. Laravelʹ͓͚ΔMVC router web.php View Controller ArticleController.php Model app/Http/
Requests/ Article.php ArticleRequest.php Migration /database/migrations/ 2020_12_18_001447_create_article_table.php articel.blade.php JS CSS img CRUD ॲཧ݁Ռ
ΫϥΠΞϯτ 3. Laravelʹ͓͚ΔMVC router web.php View Controller ArticleController.php Model app/Http/
Requests/ Article.php ArticleRequest.php Migration /database/migrations/ 2020_12_18_001447_create_article_table.php articel.blade.php JS CSS img HTTP Ϩεϙϯε ϨϯμϦϯά HTTP ϦΫΤετ URLͰRouting ඞཁͳΒ DBΞΫηε σʔλΛ͢ formͰ Submit ϰΝϦσʔγϣϯ ͯ͠ฦ͢ CRUD ॲཧ݁Ռ tableͷ ࡞ σʔλΛૹΔ
ɾ3ΞʔΩςΫνϟͱMVCϞσϧ 1. Web 3ߏ 2. 3ΞʔΩςΫνϟͱMVCͷؔ 3. L a r
a velʹ͓͚ΔMVC 4. -୯Ұݪଇ-
4. -୯Ұݪଇ- View Controller ArticleController.php Model Article.php articel.blade.php
4. -୯Ұݪଇ- View Controller ArticleController.php Model Controller ͷ Request
(HTTP)Λѻ͏ •ೖྗʢHTTPϦΫΤετʣΛड͚औΓɺνΣοΫ͢Δ •దͳॲཧܥΛ͢ •ϨεϙϯεΛฦ͢ <Request > ύϥϝʔλͷॲཧɺSessionͳͲHTTPݻ༗ͷͷ
4. -୯Ұݪଇ- View Controller ArticleController.php Model Article.php articel.blade.php View
ͷ ݟͨʹؔ͢ΔॲཧΛѻ͏ ҰൠతʹHTML,CSS,JSͳͲ
4. -୯Ұݪଇ- View Controller ArticleController.php Model Article.php articel.blade.php Modelͷ
ϩδοΫʹؔ͢ΔॲཧΛѻ͏ •ModelͰControllerΛѻΘͳ͍ •ModelͰViewΛѻΘͳ͍ •DBૢ࡞ͱίΞͳϧʔϧ