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とデザインパターン
Search
Takayuki
December 20, 2017
Technology
1
1.7k
laravelとデザインパターン
laravelとデザインパターン
Takayuki
December 20, 2017
Tweet
Share
More Decks by Takayuki
See All by Takayuki
Laravel × Clean Architecture
bumptakayuki
0
330
エンジニアのキャリア論
bumptakayuki
0
200
地方カンファレンス主催のススメ
bumptakayuki
1
210
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.1k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
680
沖縄観光、名物を一挙紹介!
bumptakayuki
2
670
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
2.8k
flutterでイベントアプリを作ってみた
bumptakayuki
0
160
オフショア開発の辛みと学んだ事
bumptakayuki
0
400
Other Decks in Technology
See All in Technology
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
830
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.3k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
450
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1k
Agile PBL at New Grads Trainings
kawaguti
PRO
1
430
S3アクセス制御の設計ポイント
tommy0124
3
200
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
430
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
A Tale of Four Properties
chriscoyier
160
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Visualization
eitanlees
148
16k
Side Projects
sachag
455
43k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Six Lessons from altMBA
skipperchong
28
4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Transcript
鈴木孝之 2017/12/19 Laravelとデザインパタʔン
"HFOEB 'BDFEFύλʔϯͱ -BSBWFMͷ'BDFEFͱ 'BDBEFͷಋೖࣄྫ
0.ࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ20175 ݄ʹ ϑϦʔϥϯεʹͳΓɺىۀ४උɻ
ɾݱࡏɺԭೄͷΪʔΫϋεͱؔ౦ۙลΛ த৺ʹ׆ಈɻ ࠷ۙɺىۀ͠·ͨ͠ɻ ◆झຯ ϚϥιϯେձɺίεϓϨɺԻָϥΠϒɺٿ ؍ઓ
0.ࣗݾհ ΪʔΫϋεͱɺओʹΤϯδχΞϓϩάϥ ϚʔΛ৬छͱ͢ΔਓɺWeb͕͖ͳਓͳͲ͕ ڞʹॅΉίϯηϓτܕγΣΞϋεͰ͢ʂ ΤϯδχΞͳͲ͕ଟ͍͜ͱ͔Βॅຽಉ࢜Ͱϓϩ άϥϛϯάΛڭ͑߹ͬͨΓ͠·͢ʂ
'BDFEFύλʔϯͱ
1.Facedeύλʔϯͱ ɾʮϑΝαʔυʯʢӳ: facadeʣ ͋·Γฉ͖ͳΕͳ͍ݴ༿Ͱ͕͢ϑϥϯεޠɺΠλϦΞ ޠ͔Βͷआ༻ޠͰɺʮݐͷද໘ʯɺͱΓΘ͚ʮਖ਼໘ʯ ͱ͍͏ҙຯͰΘΕ·͢ɻ ޠݯϥςϯޠͷfaciesʢӳ: faceʣʢ໘͢Δɺإʣ ͕సͨ͡ͷͰ͢ɻ
1.Facedeύλʔϯͱ ɾFacade ύλʔϯ͋Δ͍ Façade ύλʔϯʢϑΝ αʔυɾύλʔϯʣͱɺGoFʢGang of Four; 4ਓͷ ΪϟϯάͨͪʣʹΑͬͯఆٛ͞Εͨɺίϯϐϡʔλι
ϑτΣΞͷσβΠϯύλʔϯͷ1ͭͰ͋ΔɻFacade ʢϑΝαʔυʣͱʮݐͷਖ਼໘ʯΛҙຯ͢Δɻҟͳ ΔαϒγεςϜΛ୯७ͳૢ࡞͚ͩΛ࣋ͬͨFacadeΫϥ εͰ݁ͼɺαϒγεςϜؒͷಠཱੑΛߴΊΔࣄΛత ͱ͢Δɻ
1.Facedeύλʔϯͱ ɾFacadeΫϥε͋͘·ͰαϒγεςϜ ෦ʹࣄΛ͛Δ͚ͩͰෳࡶͳ࣮ ࣋ͨͳ͍ɻ ଟ༷ͳػೳͷմͰ͋ΔαϒγεςϜ͔Βɺ αϒγεςϜΛར༻͢ΔϢʔβʔͷ༻్ʹ ߹Θͤͨ૭ޱ(ΠϯλʔϑΣʔε)Λఏڙ͢ Δ͚ͩͰ͋Δɻ
-BSBWFMͷ'BDFEFͱ
ґଘੑೖ ґଘੑೖΛ͏ ͱॊೈੑɺอकੑ ্͕͕Γ·͢ɻ ૄ݁߹ʹͳΔͨΊɺςετָ͕ αʔϏείϯςφΛհͯ͠Πϯ ελϯεʹΞΫηε͢Δҝɺς ετΛهड़͢Δ࣌ʹɺϞοΫʹ ೖସ͑Δ͜ͱ͕ग़དྷ·͢ɻ γϯάϧτϯʹͰ͖Δɻ
αʔϏείϯςφΛհͯ͠ ΠϯελϯεʹΞΫηε͢ ΔҝɺΦϒδΣΫτΛγϯ άϧτϯͱͯ͠ొͰ͖· ͢ɻຖճΫϥεΛ new ͢ ΔͷʹൺͯɺϝϞϦʔޮ ɺύϑΥʔϚϯεޮ͕ ্͕Γ·͢ɻ 1 3 2 LaravelͷFacadeͷϝϦοτɾಛ
༻ҙ͞ΕͨϑΝαʔυ LaravelͰඪ४Ͱ37छྨͷϑΝαʔυ͕ఏڙ͞Ε͍ͯ·͢ɻ
ͲͷΑ͏ͳ໘Ͱ༻͢Δ͖ʁ ɾෳͷॲཧʹରͯ͠ɺେͷࢦࣔग़͠ ͢ΔΠϯλʔϑΣʔεΛ࡞͓͖͍ͬͯͨ ࣌ʁ
࣮ྫ DBϑΝαʔυͷத
࣮ྫ DBϑΝαʔυͷதͰ ෳͷϞδϡʔϧΛ ݺͼग़͍ͯ͠Δ
͓͢͢Ί ɾLaravelͷIDE Helper FacadeͰIDEͰιʔεʹδϟϯϓͰ͖Δ https://qiita.com/michiomochi@github/items/fc70230402972c99472f
'BDBEFͷಋೖࣄྫ
ϑΝʔαʔυͷ࡞ Ͱɺ࣮ࡍʹϑΝαʔυΛ࡞ͯ͠Έ·͢ɻҎԼͷखॱͱͳΓ·͢ɻ 1.ΫϥεΛ࡞ 2.αʔϏεϓϩόΠμʔΛ࡞ 3.αʔϏεϓϩόΠμʔͷઃఆ 4.ϑΝαʔυΫϥεΛ࡞ 5.ϑΝαʔυΤϦΞεͷઃఆ 6.ϑΝαʔυΛͬͯΈΔ
1.ΫϥεΛ࡞ αʔϏεΫϥεΛ࡞
2.αʔϏεϓϩόΠμʔΛ࡞ $ php artisan make:provider UtilsServiceProvider
3.αʔϏεϓϩόΠμʔͷઃఆ
4.ϑΝαʔυΫϥεΛ࡞ FacadeσΟϨΫτϦΛΔ
5.ϑΝαʔυΤϦΞεͷઃఆ app.phpͷaliasesʹ ఆٛ
6.ϑΝαʔυΛͬͯΈΔ ίϯτϩʔϥଆͰݺͼग़͢
ࢀߟ https://laravel10.wordpress.com/2015/04/27/%E3%83%95%E3%82%A1%E3%82%B5%E3%83%BC %E3%83%89/ https://ja.wikipedia.org/wiki/Facade_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3 https://qiita.com/yousan/items/18dab4dbac4a27ce3662