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
Laravelの歩き方 〜Webアーキテクチャを学ぶ〜
Search
株式会社エッグシステム
February 22, 2020
Programming
0
53
Laravelの歩き方 〜Webアーキテクチャを学ぶ〜
Laravelの基礎を知っている方向けに、Webアーキテクチャの視点からLaravel解説します。
株式会社エッグシステム
February 22, 2020
Tweet
Share
More Decks by 株式会社エッグシステム
See All by 株式会社エッグシステム
株式会社エッグシステム会社紹介資料/採用募集中
egg_system
1
160
押さえておきたい「実践で使うcssのポイント&Emmet紹介」
egg_system
0
31
複業メンバーと行うフルリモート開発の事例紹介
egg_system
0
740
まだ間に合う「Vue」勉強会資料
egg_system
0
86
Other Decks in Programming
See All in Programming
CSC307 Lecture 06
javiergs
PRO
0
360
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
CSC307 Lecture 05
javiergs
PRO
0
210
CSC307 Lecture 11
javiergs
PRO
0
240
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.3k
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.3k
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
Namespace on read
tagomoris
2
370
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
For a Future-Friendly Web
brad_frost
173
9.2k
Teambox: Starting and Learning
jrom
130
8.6k
YesSQL, Process and Tooling at Scale
rocio
166
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Optimising Largest Contentful Paint
csswizardry
18
2.6k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
Transcript
Laravel Web
8,6$ • -13* • 2.'5/+ • 70
• )(4 &"%# ◦ ▪ GCP / AWS ▪ laravel / rails / .net ▪ nuxt ◦ IT ▪ ERP ◦ HP ! ▪ wordpress
'-%,: • Laravel*6 &710 • #Laravel /) • Laravel20
'-%(. • Web "!3 • MVC$+Web 98045
&)%( • Laravel ,* • Laravel - •
!$ Web$! $# • Laravel $"$# '+
/ 1 • ") ◦ *,!
◦ %&#+.- ◦ '($0
$ +' • Laravel MVC (%) ! • DI "
) # • readable 1/10 ,& • Laravel *. -
"! 1. Laravel$ ◦
2. Laravel ◦ 1 Laravel 3. Laravel # ◦ MVC ◦ MVVM ◦ Flux
Laravel
LaravelconfigF@FW • Laravel configF@=;? ◦ config*0%6*0config ◦ !-2' :config9 4
E8 ▪ php artisan config:cache ◦ Laravel config*06 envBD ▪ config = envAC • configB7"3)#,1(% ◦ configenv< #$+'/( .& 5>
• config. !5_ZMBODIQW • DI]G. !5HY#3&T]\NU • Laravel DIAIR'!/,7*08&
◦ %8-&/6+!(D Hb!7&'7&TG ◦ IR!7'8."8& PG • DI^@;:924)* ◦ `RIRES C? =EKZ ▪ D=IR[ ◦ aJX/6$317$KZ ▪ #3&!7'8."8&HY Dependency Injection(<FLV>)
DI -*8 1: (Route.php +) • (')# (# )(. ◦
readable • ,0<75 )(. ◦ Route.php@getController • $ &"( (# #!)96 ◦ Container.php@build • #!) )(% • ; (# 24 / (3=
)& ("$ • ("$' ◦ Container.php • =A("$' -
6B 0I.*F ◦ 3<@' 2( !( H:I. ◦ ("$' ' 28;( !( G • ("$composite%!)( 7C ◦ ("$/("$,5E> 41 ◦ ( #'!8; • DI+)& ("$ 0' ?J 9D
• .%- "DK * • +!$.49I ◦ @GIlluminate¥Http¥Request$.4
◦ php?A$_get 0B6H • config1'..%- "DK ◦ DI0 8>E2.%*DK ; • Application.php3 9I ◦ Application.php- " ◦ composite$.- 9J • FacadeDK9< ◦ Facade(+!*7FC)/:=5 .%&,#
Tips: "5,$0$ • .#(?;'5%8JI • "5,$0$9E8JI 0$ • /'20$GetterSetterHA<:;
◦ 4%5-5$BF ◦ "5,$0$4%5-5$=* FD6 • DB$(35#@G1$(+5$'5%7> 9EC • Laravel<:"5,$!4&)
Laravel
Laravel • !"& '$%( ◦ https://readouble.com/laravel/6.x/ja/lifecycle.html • !"2#)
◦ HTTPConsole ▪ public/index.php ▪ artisan • HTTPConsole
• Laravel%$+(, public/index.php.- • public/index.php, ◦ public/index.php • Request!, ◦
Request.php@capture ◦ SymfonyRequest.php@createFromGlobals • '/Global #(32 ◦ Kernel.php@handle ◦ PipeLine.php@then • )"+10 +*,& #(32 ◦ Router.php@dispatch • readable HTTP, (
Console*"' • artinsan/. ◦ php artisan artisan#';< ◦
artisann+=34 ◦ artisan • 058SymphonyConsole)%*")$* • - 297Artisan&) (* ◦ Kernel.php@handle ◦ Artisan&) )! • )!34&) ,1:6 ◦ Application.php@run ◦ SymphonyApplication.php@run
HKernel6G7B • 2? +." -!#:/ • bootstrap/app.php+."-!#8@9 ◦ bootstrap/app.php
◦ (- .&',%; • 0F 31I.&-!#C> ◦ HTTP.$+ ◦ Console.$+ ◦ ExceptionHandler • 5<D4.&-!# ◦ .&',%*.) EA=
Laravel
MVC (Model, View, Controller) • 3I+$-2*&21 • ModelViewControllerR •
5K BN *&21 • Laravel<9ModelController? • ;FJ/"!%(OQ<9 *&216 ◦ /"!%(C 7H= • LaravelP02(,'0) 1'1#@: ◦ *.+2&*2%EGDA ◦ Route::bindBN ▪ Eloquent4>BM8L
MVVM (Model, View, ViewModel) • $*++ FW &', •
Model,"( 6 • ViewModelView Model> 9 • Graphql. )<? 32 & • Vue js+%,!+ 85 ◦ ViewComposer.1,7/&, ◦ 1+%,!+Blade (#+ • Controller-= ◦ Route::view. ◦ Route::view32php artisan route cache4;0:
Flux • ,67(7) 0"18 • Facebook LE '!7+%87
◦ Facebook • 4#(MGFC##0 • 7(683 emit/5+8; • @W28)3* ?RJO ◦ YDQ?R PH04&( ◦ 9N .6$#TRZ= • -3!> I:XSBA?RJUKV ◦ UX WebSocketX<KV ◦ laravel-echo-server
) • " '+ • "!*%
• Laravel #&($ 3 "!! ◦ MVC ◦ MVVM ◦ Flux
DI9B • DI9B • PHP 75 (#*&+/%, • G= 630
G= 631@A5 <F ◦ +,#, :9B ?24' • -D>.H4 ';C ◦ '! ◦ $ ◦ E8#) ",, ◦ +