Slide 1

Slide 1 text

!LB[VIFJ !LB[VIFJ@@ αʔϏείϯςφͷ࣮ફతͳ׆༻ ʲγϡʔϚΠʳ5FDI-FBE&OHJOFFS͔Β࠷৽ٕज़Λֶ΂ʂ-BSBWFMฤ

Slide 2

Slide 2 text

ࣗݾ঺հ ߥҪ࿨ฏ!LB[VIFJ גࣜձࣾ."Ϋϥ΢υ ീஸງͷͲϕϯνϟʔ

Slide 3

Slide 3 text

ς Ϋ ϊ ϩ δ ʔ ͷ ྗ Ͱ M & A ʹ ྲྀ ௨ ֵ ໋ Λ

Slide 4

Slide 4 text

ۀքॳʂืूܕ."ϓϥοτϑΥʔϜ

Slide 5

Slide 5 text

ۀքॳʂืूܕ."ϓϥοτϑΥʔϜ ."ͷϚονϯάϓϥοτϑΥʔϜʮ."Ϋϥ΢υʯ͸ɺ͜ ͷͨͼ೥݄೔ͷαʔϏε։͔࢝Β೥Λܴ͑ɺܝࡌ ങ͍खاۀ਺͸ࣾʢ͏্ͪ৔اۀࣾʣɺొ࿥ചΓखا ۀ਺͸ ࣾΛಥഁ͠·ͨ͠ɻ."Ϋϥ΢υΛ௨ͨ͡ ."੒໿࣮੷ͷྲྀ௨૯ֹ͸ԯ ສԁʹ্͍ͬͯ· ͢ɻ

Slide 6

Slide 6 text

໨࣍ w αʔϏείϯςφͱ͸ w αʔϏείϯςφΛੵۃతʹ࢖͏ઃܭ w ࣮ྫ w ·ͱΊ

Slide 7

Slide 7 text

αʔϏείϯςφͱ͸

Slide 8

Slide 8 text

αʔϏείϯςφͱ͸ w ҰൠతʹݴΘΕΔ%*ίϯςφʔͷ໾ׂΛ͍࣋ͬͯΔ w %*ίϯςφ͸Πϯελϯεͷੜ੒Λߦͬͯ͘ΕΔ

Slide 9

Slide 9 text

αʔϏείϯςφͱ͸ app->bind(UserRepositoryInterface::class, EloquentUserRepository::class); } } Πϯελϯεͷొ࿥

Slide 10

Slide 10 text

αʔϏείϯςφͱ͸ userRepository = $userRepository; } public function index() { return view('user.index', ['userList' => $this->userRepository- >getList()]); } } Πϯελϯεͷར༻

Slide 11

Slide 11 text

αʔϏείϯςφͷར఺ w ੜ੒Λ෼཭Ͱ͖ΔͷͰςετͳͲͷͱ͖ʹศརͩΑͶͱ͍͏ ࿩͕Α͘঺հ͞ΕΔ w ฐࣾͰ͸ςετ࣌Ҏ֎ʹ΋࢖͍ͬͯΔͷͰͦͷ࢖͍ํΛ঺հ ͠·͢

Slide 12

Slide 12 text

αʔϏείϯςφΛ ੵۃతʹ࢖͏ઃܭ

Slide 13

Slide 13 text

αʔϏείϯςφΛੵۃతʹ࢖͏ઃܭ  σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞Δ  *OUFSGBDFΛ׆༻

Slide 14

Slide 14 text

σʔλΞΫηεʹґଘ͠ͳ͍ υϝΠϯΫϥεΛ࡞Δ

Slide 15

Slide 15 text

σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞Δ .PEFM &MPRVFOU &MPRVFOU͚ͩͷঢ়ଶ

Slide 16

Slide 16 text

σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞Δ first_name . ' ' . $this->last_name; } } .PEFM

Slide 17

Slide 17 text

σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞Δ .PEFM &MPRVFOU %PNBJO UP%PNBJO &MPRVFOUΛ%PNBJOΫϥεʹϚοϐϯά͢Δ

Slide 18

Slide 18 text

σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞Δ id), Name::of($this->first_name, $this->last_name) ); } } .PEFM

Slide 19

Slide 19 text

σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞Δ id = $id; $this->name = $name; } public function getDisplayName(): string { return $this->name->getFullNameString(); } } %PNBJO

Slide 20

Slide 20 text

σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞Δ w σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞͓ͬͯ͘ w &MPRVFOUʹ௚઀ϩδοΫΛॻ͘ͷ͸΍Ίͯɺ&MPRVFOU͸ %#ૢ࡞ͷͨΊ͚ͩʹ࢖͏

Slide 21

Slide 21 text

*OUFSGBDFΛ׆༻

Slide 22

Slide 22 text

*OUFSGBDFΛ׆༻ $POUSPMMFS 7JFX .PEFM &MPRVFOU ݹయతͳ.7$

Slide 23

Slide 23 text

*OUFSGBDFΛ׆༻ $POUSPMMFS 7JFX *OUFSGBDFΛ࢖ͬͯ૚Λ෼͚Δ 3FQPTJUPSZ *OUFSGBDF %PNBJO "QQ %PNBJO *OGSB 3FQPTJUPSZ *NQMFNFOU .PEFM &MPRVFOU

Slide 24

Slide 24 text

*OUFSGBDFΛ׆༻

Slide 25

Slide 25 text

*OUFSGBDFΛ׆༻ rawValue())->get(); return $model->toDomain(); } public function getList(): UserList { $collection = EloquentUserModel::all(); return new UserList($collection->map(function ($model) { return $model->toDomain(); })->toArray()); } } &MPRVFOU3FQPTJUPSZ*NQMFNFOU

Slide 26

Slide 26 text

*OUFSGBDFΛ׆༻ w ϨΠϠʔΛ࡞Γ*OUFSGBDFΛ࡞ͬͯσʔλΞΫηε෦෼Λ෼ ཭͢Δ

Slide 27

Slide 27 text

࣮ྫ

Slide 28

Slide 28 text

࣮ྫ w %#ΞΫηεΛࠩ͠ସ͑Δ w )551ΫϥΠΞϯτΛࠩ͠ସ͑Δ

Slide 29

Slide 29 text

%#ΞΫηεΛࠩ͠ସ͑Δ

Slide 30

Slide 30 text

%#ΞΫηεΛࠩ͠ସ͑Δ 3FQPTJUPSZ *OUFSGBDF %PNBJO *OGSB &MPRVFOU 3FQPTJUPSZ *NQMFNFOU .PEFM &MPRVFOU 2VFSZ#VJMEFS 3FQPTJUPSZ *NQMFNFOU 2VFSZ#VJMEFS ෳ਺ͷ%#ΞΫηεํ๏Λڞଘ %PNBJO

Slide 31

Slide 31 text

%#ΞΫηεΛࠩ͠ସ͑Δ 3FQPTJUPSZ *OUFSGBDF %PNBJO *OGSB &MPRVFOU 3FQPTJUPSZ *NQMFNFOU .PEFM &MPRVFOU $BDIFE 3FQPTJUPSZ *NQMFNFOU .PEFM &MPRVFOU $BDIF ܧঝ $BDIFΛ࢖͍ͬͯΔ͔Ͳ͏͔Λؾʹ͠ͳ͍ %PNBJO

Slide 32

Slide 32 text

%#ΞΫηεΛࠩ͠ସ͑Δ w ςʔϒϧఆٛͳͲ͕มߋ͞Εͯ΋৽͍͠ 3FQPTJUPSZ*NQMFNFOUΛ࡞Ε͹ରԠͰ͖Δ w $BDIFΞΫηε΋3FQPTJUPSZ*NQMFNFOUΛܧঝ͢Δ͜ͱͰ ରԠͰ͖Δ w ؅ཧπʔϧ͚ͩ$BDIFͳ͠ͱ͔ɺίϯςΩετʹ߹Θ࣮ͤͯ ૷Λબ୒Ͱ͖Δ w ։์ด࠯ݪଇ

Slide 33

Slide 33 text

)551ΫϥΠΞϯτΛ ࠩ͠ସ͑Δ

Slide 34

Slide 34 text

)551ΫϥΠΞϯτΛࠩ͠ସ͑Δ "QJ$MJFOU *OUFSGBDF %PNBJO *OGSB (V[[MF"QJ$MJFOU
 *NQMFNFOU (V[[MF 4%,"QJ$MJFOU *NQMFNFOU -JOF4%, ෳ਺ͷ)551ΞΫηεํ๏Λڞଘ %PNBJO

Slide 35

Slide 35 text

)551ΫϥΠΞϯτΛࠩ͠ସ͑Δ w (V[[MFͳͲͷ)551ΫϥΠΞϯτ͔ΒαʔϏεͷ4%,ʹࠩ͠ ସ͑ w 4%,ͷόʔδϣϯҧ͍ʹطଘͷΫϥεΛมߋͤͣʹରԠ

Slide 36

Slide 36 text

·ͱΊ

Slide 37

Slide 37 text

·ͱΊ w αʔϏείϯςφͰΫϥεͷੜ੒Λ෼཭Ͱ͖Δ w σʔλΞΫηεʹґଘ͠ͳ͍υϝΠϯΫϥεΛ࡞͓ͬͯ ͘ͱ༷ʑͳσʔλΞΫηεํ๏Λબ୒Ͱ͖ΔΑ͏ʹͳΔ w ϨΠϠʔΛ࡞Γ*OUFSGBDFΛ࡞ͬͯσʔλΞΫηε෦෼Λ ෼཭͢Δ w αʔϏείϯςφͰσʔλΞΫηε༻ͷΫϥεΛࠩ͠ସ ͑ΒΕΔ