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
4.5k
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
よしたろう
July 10, 2022
Tweet
Share
More Decks by よしたろう
See All by よしたろう
【登壇版】原初仏教の慈悲から学ぶ「心理的安全性」~チームとの接続点~
yoshitaroyoyo
2
110
構造化思考・システム化思考 でVUCAを生き抜こう! 簡略版
yoshitaroyoyo
0
10
構造化思考・システム化思考 でVUCAを生き抜こう! 詳細版
yoshitaroyoyo
0
14
【根拠まとめ版】人はなぜ変われないのか?自分を変えるとは何か?どう在るべきなのか?
yoshitaroyoyo
0
23
【補完版:統合編】人はなぜ変われないのか?自分を変えるとは何か?どう在るべきなのか?
yoshitaroyoyo
0
160
【登壇版:ナラティブ編】人はなぜ変われないのか?自分を変えるとは何か?どう在るべきなのか?
yoshitaroyoyo
2
830
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方【完全版】
yoshitaroyoyo
0
9
自分を変えるを邪魔するのは自分自身!? 免疫マップで可視化てみよう!
yoshitaroyoyo
0
9
今、人類史上で最もリベラルアーツが必要な時代になっている.pdf
yoshitaroyoyo
0
42
Other Decks in Programming
See All in Programming
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
180
CSC305 Lecture 08
javiergs
PRO
0
210
CSC305 Lecture 06
javiergs
PRO
0
240
Cursorハンズオン実践!
eltociear
2
1.1k
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
200
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
190
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
CSC509 Lecture 05
javiergs
PRO
0
300
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
410
Catch Up: Go Style Guide Update
andpad
0
230
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Agile that works and the tools we love
rasmusluckow
331
21k
Producing Creativity
orderedlist
PRO
347
40k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Statistics for Hackers
jakevdp
799
220k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Unsuck your backbone
ammeep
671
58k
4 Signs Your Business is Dying
shpigford
185
22k
Code Reviewing Like a Champion
maltzj
526
40k
Designing for humans not robots
tammielis
254
26k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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ૢ࡞ͱίΞͳϧʔϧ