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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
株式会社エッグシステム
February 22, 2020
Programming
0
81
Laravelの歩き方 〜Webアーキテクチャを学ぶ〜
Laravelの基礎を知っている方向けに、Webアーキテクチャの視点からLaravel解説します。
株式会社エッグシステム
February 22, 2020
Tweet
Share
More Decks by 株式会社エッグシステム
See All by 株式会社エッグシステム
株式会社エッグシステム会社紹介資料/採用募集中
egg_system
1
690
押さえておきたい「実践で使うcssのポイント&Emmet紹介」
egg_system
0
55
複業メンバーと行うフルリモート開発の事例紹介
egg_system
0
1.3k
まだ間に合う「Vue」勉強会資料
egg_system
0
120
Other Decks in Programming
See All in Programming
Package Management Learnings from Homebrew
mikemcquaid
0
190
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
980
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
540
CSC307 Lecture 06
javiergs
PRO
0
680
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
160
CSC307 Lecture 02
javiergs
PRO
1
770
Fragmented Architectures
denyspoltorak
0
140
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
410
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
600
dchart: charts from deck markup
ajstarks
3
990
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Between Models and Reality
mayunak
1
180
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Leo the Paperboy
mayatellez
4
1.4k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Mind Mapping
helmedeiros
PRO
0
74
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Docker and Python
trallard
47
3.7k
The browser strikes back
jonoalderson
0
360
Paper Plane
katiecoart
PRO
0
46k
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#) ",, ◦ +