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
12
視点の探索と取得〜見える世界が変わるとは何か?何が見えるようになるのか?
yoshitaroyoyo
PRO
1
47
フォロワーを活かすリーダー リーダーを活かすフォロワー
yoshitaroyoyo
PRO
1
82
対話・多様性が イノベーション・情報精緻化・組織学習に繋がる
yoshitaroyoyo
PRO
1
36
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方
yoshitaroyoyo
PRO
3
1.5k
世界のTOPが世界をどう捉えているのか知りたくないっすか?
yoshitaroyoyo
PRO
1
43
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
PRO
1
220
組織学習とアジャイル
yoshitaroyoyo
PRO
1
260
スクラムマスターのお仕事.pdf
yoshitaroyoyo
PRO
0
130
Other Decks in Programming
See All in Programming
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
3
280
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
Recoilを剥がしている話
kirik
5
6.7k
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
930
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
330
暇に任せてProxmoxコンソール 作ってみました
karugamo
2
720
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
2
230
Jakarta EE meets AI
ivargrimstad
0
240
Featured
See All Featured
Site-Speed That Sticks
csswizardry
2
190
Raft: Consensus for Rubyists
vanstee
137
6.7k
Thoughts on Productivity
jonyablonski
67
4.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Facilitating Awesome Meetings
lara
50
6.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
GitHub's CSS Performance
jonrohan
1030
460k
Making Projects Easy
brettharned
116
5.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Mobile First: as difficult as doing things right
swwweet
222
9k
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ૢ࡞ͱίΞͳϧʔϧ