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
よしたろう
PRO
July 10, 2022
Programming
0
3.6k
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
よしたろう
PRO
July 10, 2022
Tweet
Share
More Decks by よしたろう
See All by よしたろう
銀河英雄伝説・攻殻機動隊 から人としてのあり方を学んだ
yoshitaroyoyo
PRO
1
13
視点の探索と取得〜見える世界が変わるとは何か?何が見えるようになるのか?
yoshitaroyoyo
PRO
1
50
フォロワーを活かすリーダー リーダーを活かすフォロワー
yoshitaroyoyo
PRO
1
82
対話・多様性が イノベーション・情報精緻化・組織学習に繋がる
yoshitaroyoyo
PRO
1
37
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方
yoshitaroyoyo
PRO
3
1.5k
世界のTOPが世界をどう捉えているのか知りたくないっすか?
yoshitaroyoyo
PRO
1
44
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
PRO
1
220
組織学習とアジャイル
yoshitaroyoyo
PRO
1
270
スクラムマスターのお仕事.pdf
yoshitaroyoyo
PRO
0
130
Other Decks in Programming
See All in Programming
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
190
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
160
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
360
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1.1k
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
6
1.2k
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
560
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
180
iOS開発におけるCopilot For XcodeとCode Completion / copilot for xcode
fuyan777
1
600
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
480
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
240
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
360
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
510
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
120
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Building an army of robots
kneath
302
44k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Visualization
eitanlees
146
15k
Become a Pro
speakerdeck
PRO
26
5.1k
For a Future-Friendly Web
brad_frost
175
9.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
820
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ૢ࡞ͱίΞͳϧʔϧ