laravel.osaka 2016 で発表したものです。
Laravelʹ͓͚Δޙչ͠ͳ͍ͨΊͷΞϓϦέʔγϣϯઃܭLaravel Osaka 2016@localdisk
View Slide
ࣗݾհদඌେ·͓ͭ·͞ΔEEEΤϯδχΞΠϊϕʔλʔδϟύϯॴଐ ΤϯδχΞɾσβΠφɾσΟϨΫλΛืूதධൃചத@localdisk
ืूͯ͠·͢ʂʂʂ
ޙչ͠ͳ͍ΞϓϦέʔγϣϯઃܭͱ?
όάΛग़͞ͳ͍།Ұͷํ๏ϓϩάϥϜΛॻ͔ͳ͍͜ͱͩʕϓϩάϥϚͷ֨ݴʕ
ͦ͏͍͏Θ͚ʹ͍͔ͳ͍
ݱ࣮ݫ͍͠
ଥڠͯ͠γϯϓϧ͞Λͨͭ
• ޙչ͠ͳ͍ͨΊʹͲ͏͢Δ͔?• FacadeΛ߇͑ͯΈΔ• Named Routes• FormRequest• ControllerͰEloquentͷϝιουνΣΠϯېࢭ• Repository PatternAgenda
FacadeΛ߇͑ͯΈΔ
• ੩తϝιουͷΑ͏ʹ͑Δ• ࣮ࡍαʔϏείϯςφ͔ΒऔΓग़͍ͯ͠Δ• Ͳ͔͜ΒͰ͑Δ• ViewͷதͰ• \Auth::check()• ݁ՌɺΫϥεͷ͕େ͖͘ͳΔFacade ศར͚ͩͲ…
https://readouble.com/laravel/5.3/ja/facades.html#facade-class-referenceDIΛ͓͏
ͳΔ͘ Contract ͓͏DIΛ͓͏(2)
• Facade Λ͏͔ΘΓʹ DI Λ͢Δͱ༻͢ΔͱϝιουͷҾʹ༻͢ΔΫϥε͕ฒͿ• ͋ɺ͍ɻͱΘ͔Δɻ• FacadeΛܦ༝͠ͳ͍ͷͰएׯૣ͘ͳΔͳͥ DI ͔?
Named Routes
• Routeʹ໊લΛ͚ͭΔ• route(‘osaka’); ͰURL͕औಘͰ͖Δ• URL͕มΘͬͯ҆৺Named Routes
FormRequest
গͣͭ͠هड़ྔ͕ݮ͍ͬͯΔ͔͠͠ϊΠζʹͳ͍ͬͯΔͷ൱Ίͳ͍Validation ͷมભ
• php artisan make:request Ϋϥε໊• rulesϝιουΛ࣮FormRequest
• ControllerͰϝιουΠϯδΣΫγϣϯ͢Δ͚ͩ• ϊΠζ͕ফ͑ͯϩδοΫʹूதͰ͖ΔFormRequest
ControllerͰEloquentͷϝιουνΣΠϯېࢭ
Model Binding
ʮಉ݁͡ՌΛAPIͰฦͤΔΑ͏ʹ͠ͱ͍ͯͶʯͱݴΘΕͨΒ…ʁControllerͰϝιουνΣΠϯμϝʂ
ModelʹΫΤϦΛด͡ࠐΊΔ
Repository Pattern
• Eloquent User::find ͷΑ͏ʹ੩తʹݺ·͕͢ɺFacadeͰͳ͍ɻ• ΑͬͯshouldRecieveͱ͍͏ϝιουଘࡏ͠ͳ͍• EloquentDBʹґଘ͍ͯ͠Δ• ςετ͕ࠔΔͳͥ Repository Pattern?
• ΠϯλʔϑΣʔεΛఆٛRepository Patternͷ࡞Γํ
• ΠϯλʔϑΣʔεΛ࣮ɻ͋ͱίϯτϩʔϥͰΠϯδΣΫγϣϯ͢ΔRepository Patternͷ࡞Γํ
࣭ͱ͔ʁ
͓ΘΓ