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
5.1k
0
Share
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
よしたろう
July 10, 2022
More Decks by よしたろう
See All by よしたろう
私たちを縛る呪いは解けるのか?〜赦しの先にある自由〜
yoshitaroyoyo
1
190
【登壇版】原初仏教の慈悲から学ぶ「心理的安全性」~チームとの接続点~
yoshitaroyoyo
2
270
構造化思考・システム化思考 でVUCAを生き抜こう! 簡略版
yoshitaroyoyo
0
58
構造化思考・システム化思考 でVUCAを生き抜こう! 詳細版
yoshitaroyoyo
0
65
【根拠まとめ版】人はなぜ変われないのか?自分を変えるとは何か?どう在るべきなのか?
yoshitaroyoyo
0
44
【補完版:統合編】人はなぜ変われないのか?自分を変えるとは何か?どう在るべきなのか?
yoshitaroyoyo
0
270
【登壇版:ナラティブ編】人はなぜ変われないのか?自分を変えるとは何か?どう在るべきなのか?
yoshitaroyoyo
2
1.2k
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方【完全版】
yoshitaroyoyo
0
57
自分を変えるを邪魔するのは自分自身!? 免疫マップで可視化てみよう!
yoshitaroyoyo
0
54
Other Decks in Programming
See All in Programming
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
170
Agent Skills を社内で育てる仕組み作り
jackchuka
0
750
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.4k
when storing skills in S3 file
watany
2
780
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.6k
[RubyKaigi 2026] Require Hooks
palkan
1
280
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
420
Don't Prompt Harder, Structure Better
kitasuke
0
810
第3木曜LT会 #28
tinykitten
PRO
0
120
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
400
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
210
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
740
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
540
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
370
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
240
Speed Design
sergeychernyshev
33
1.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.3k
Mobile First: as difficult as doing things right
swwweet
225
10k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
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ૢ࡞ͱίΞͳϧʔϧ