Slide 1

Slide 1 text

ҙ֎ʹศརͩͬͨ 2019/10/30 PHPษڧձ@౦ژ લా ࿨ਓ

Slide 2

Slide 2 text

ࣗݾ঺հ w લా࿨ਓ w !DIJSPSVYYYY w 3PYY

Slide 3

Slide 3 text

w εϙϯαʔืूதͰ͢ʂʂ

Slide 4

Slide 4 text

ҙ֎ʹศརͩͬͨ

Slide 5

Slide 5 text

ʮʯҙ֎ʹศརͩͬͨ

Slide 6

Slide 6 text

1)1ʹ͓͚Δʮʯ ͭ͋Δ

Slide 7

Slide 7 text

ՄมݸҾ਺ؔ਺ function printArgs(...$inputs) { echo $inputs[0]; // apple echo $inputs[1]; // banana echo $inputs[2]; // chocolate } printArgs('apple', 'banana', 'chocolate');

Slide 8

Slide 8 text

Ҿ਺ͷΞϯύοΫ function printArgs($a, $b, $c) { // (ུ) } $args = ['apple', 'banana', 'chocolate']; printArgs(...$args);

Slide 9

Slide 9 text

஌ͬͯ͸͍͕ͨʜ w ػೳ͕ଘࡏ͢Δ͜ͱ͸஌ͬͯͨ w Ͱ΋࣮ࡍ͸શવ࢖ͬͯͳ͔ͬͨ w ΠϚΠν࢖͍Ͳ͜Ζ͕Θ͔Βͳ͔ͬͨ ‎ ࠷ۙɺศརͳ࢖͍ํΛݟ͚ͭͨ

Slide 10

Slide 10 text

ྫ୊ w ࣗ෼Ͱఆٛͨ͠4UBUVTΫϥε͕͋Δ w 4UBUVTΛෳ਺ѻ͏Ϋϥε͕΄͍͠ w ഑ྻΛϥοϓͨ͠Ϋϥε w ཁ݅͸ҎԼ w ೚ҙͷ਺ͷ4UBUVTΠϯελϯεΛཁૉʹ࣋ͭ w 4UBUVTΠϯελϯεҎ֎Λཁૉʹ࣋ͬͯ͸͍͚ͳ͍ w Ωʔ͸࿈൪ͷΈʹ͢Δ ࿈૝഑ྻʹ͠ͳ͍

Slide 11

Slide 11 text

·ͣ͸ී௨ʹ࣮૷͠·͢

Slide 12

Slide 12 text

ී௨ͷ࣮૷ class StatusCollection { private $items; public function __construct(array $items) { $this->items = $items; } } $items = [Status::random(), Status::random(), Status::random()]; new StatusCollection($items);

Slide 13

Slide 13 text

ී௨ͷ࣮૷ class StatusCollection { private $items; public function __construct(array $items) { foreach ($items as $item) { if (!$item instanceof Status) { throw new InvalidArgumentException(); } } $this->items = $items; } } $items = [Status::random(), Status::random(), Status::random()]; new StatusCollection($items);

Slide 14

Slide 14 text

ී௨ͷ࣮૷ class StatusCollection { private $items; public function __construct(array $items) { foreach ($items as $item) { if (!$item instanceof Status) { throw new InvalidArgumentException(); } } $this->items = array_values($items); } } $items = [Status::random(), Status::random(), Status::random()]; new StatusCollection($items);

Slide 15

Slide 15 text

Λ࢖͍͖ͬͯ·͢ʂ

Slide 16

Slide 16 text

Λ࢖࣮ͬͨ૷ class StatusCollection { private $items; public function __construct(...$items) { foreach ($items as $item) { if (!$item instanceof Status) { throw new InvalidArgumentException(); } } $this->items = $items; } } $items = [Status::random(), Status::random(), Status::random()]; new StatusCollection(...$items);

Slide 17

Slide 17 text

Λ࢖࣮ͬͨ૷ class StatusCollection { private $items; public function __construct(Status ...$items) { $this->items = $items; } } $items = [Status::random(), Status::random(), Status::random()]; new StatusCollection(...$items);

Slide 18

Slide 18 text

ศརʂʂ

Slide 19

Slide 19 text

·ͱΊ w ʮʯΛ࢖͏ͱҎԼͷέʔεͰϥΫʹͳΔ w ഑ྻͷΩʔʹ͍ͭͯߟ͑ͨ͘ͳ͍ͱ͖ w ഑ྻͷཁૉͷܕΛറΓ͍ͨͱ͖