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
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Laravelの歩き方 〜Webアーキテクチャを学ぶ〜
Laravelの基礎を知っている方向けに、Webアーキテクチャの視点からLaravel解説します。
株式会社エッグシステム
February 22, 2020
More Decks by 株式会社エッグシステム
See All by 株式会社エッグシステム
株式会社エッグシステム会社紹介資料/採用募集中
egg_system
1
950
押さえておきたい「実践で使うcssのポイント&Emmet紹介」
egg_system
0
72
複業メンバーと行うフルリモート開発の事例紹介
egg_system
0
1.4k
まだ間に合う「Vue」勉強会資料
egg_system
0
140
Other Decks in Programming
See All in Programming
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
270
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
共通化で考えるべきは、実装より公開する型だった
codeegg
0
210
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
370
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
110
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
400
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
220
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
190
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
160
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.9k
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
240
Docker and Python
trallard
47
3.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Balancing Empowerment & Direction
lara
6
1.2k
Utilizing Notion as your number one productivity tool
mfonobong
4
390
Fireside Chat
paigeccino
42
4k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
300
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
It's Worth the Effort
3n
188
29k
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#) ",, ◦ +