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
68
Laravelの歩き方 〜Webアーキテクチャを学ぶ〜
Laravelの基礎を知っている方向けに、Webアーキテクチャの視点からLaravel解説します。
株式会社エッグシステム
February 22, 2020
Tweet
Share
More Decks by 株式会社エッグシステム
See All by 株式会社エッグシステム
株式会社エッグシステム会社紹介資料/採用募集中
egg_system
1
280
押さえておきたい「実践で使うcssのポイント&Emmet紹介」
egg_system
0
54
複業メンバーと行うフルリモート開発の事例紹介
egg_system
0
1.2k
まだ間に合う「Vue」勉強会資料
egg_system
0
110
Other Decks in Programming
See All in Programming
Advance Your Career with Open Source
ivargrimstad
0
350
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.4k
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
230
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.3k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.5k
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
240
株式会社 Sun terras カンパニーデック
sunterras
0
230
明日から始めるリファクタリング
ryounasso
0
120
CSC509 Lecture 02
javiergs
PRO
0
410
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
490
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
410
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The Invisible Side of Design
smashingmag
301
51k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Rails Girls Zürich Keynote
gr2m
95
14k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Speed Design
sergeychernyshev
32
1.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Balancing Empowerment & Direction
lara
4
680
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
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#) ",, ◦ +