Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Laravelの歩き方 〜Webアーキテクチャを学ぶ〜
株式会社エッグシステム
February 22, 2020
Programming
0
46
Laravelの歩き方 〜Webアーキテクチャを学ぶ〜
Laravelの基礎を知っている方向けに、Webアーキテクチャの視点からLaravel解説します。
株式会社エッグシステム
February 22, 2020
Tweet
Share
More Decks by 株式会社エッグシステム
See All by 株式会社エッグシステム
株式会社エッグシステム会社紹介資料/採用募集中
egg_system
1
100
押さえておきたい「実践で使うcssのポイント&Emmet紹介」
egg_system
0
23
複業メンバーと行うフルリモート開発の事例紹介
egg_system
0
390
まだ間に合う「Vue」勉強会資料
egg_system
0
82
Other Decks in Programming
See All in Programming
Swift Concurrency in GoodNotes
inamiy
4
1.3k
Jetpack Compose 完全に理解した
mkeeda
1
440
Hono v3 - Do Everything, Run Anywhere, But Small, And Faster
yusukebe
4
130
Excelの助けを借りて楽にシナリオを作ろう
rpa_niiyama
0
240
Glance App Widgetでウィジェットを作ろう / MoT TechTalk #15
mot_techtalk
0
110
Refactor with using `available` and `deprecated`
417_72ki
3
380
[2023년 1월 세미나] 데이터 분석가 되면 어떤 일을 하나요?
datarian
0
560
TypeScript 4.9のas const satisfiesが便利
tonkotsuboy_com
9
2.2k
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
42k
Remote SSHで行うVS Codeリモートホスト開発とトラブルシューティング
smt7174
1
430
Milestoner
bkuhlmann
1
240
Swift Observation
shiz
3
270
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
152
13k
Agile that works and the tools we love
rasmusluckow
320
20k
Making Projects Easy
brettharned
102
4.8k
The Art of Programming - Codeland 2020
erikaheidi
35
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
Writing Fast Ruby
sferik
613
58k
How to Ace a Technical Interview
jacobian
270
21k
jQuery: Nuts, Bolts and Bling
dougneiner
57
6.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
It's Worth the Effort
3n
177
26k
Stop Working from a Prison Cell
hatefulcrawdad
263
18k
GraphQLとの向き合い方2022年版
quramy
20
9.8k
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
Laravelconfig
[email protected]
FW • Laravel config
[email protected]
=;? ◦ 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 )(. ◦
[email protected]
• $ &"( (# #!)96 ◦
[email protected]
• #!) )(% • ; (# 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!, ◦
[email protected]
◦
[email protected]
• '/Global #(32 ◦
[email protected]
◦
[email protected]
• )"+10 +*,& #(32 ◦
[email protected]
• readable HTTP, (
Console*"' • artinsan/. ◦ php artisan artisan#';< ◦
artisann+=34 ◦ artisan • 058SymphonyConsole)%*")$* • - 297Artisan&) (* ◦
[email protected]
◦ Artisan&) )! • )!34&) ,1:6 ◦
[email protected]
◦
[email protected]
HKernel6G7B • 2? +." -!#:/ • bootstrap/app.php+."-!#
[email protected]
◦ 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#) ",, ◦ +