- array_sum: documentation ( source)
<?php
class Command
{
private $photoIds;
private $categoryIds;
private function setPhotoIds(int ...$photoIds):self
{
$this->photoIds = $photoIds;
return $this;
}
private function setCategoryIds(int ...$categoryIds):self
{
$this->categoryIds = $categoryIds;
return $this;
}
public function __construct(array $photoIds, array $categoryIds)
{
$this
->setPhotoIds(...$photoIds)
->setCategoryIds(...$categoryIds);
}
public function getPhotoIds():array
{
return $this->photoIds;
}
public function getCategoryIds():array
{
return $this->categoryIds;
}
}
class Handler
{
public function __invoke(Command $command)
{
return array_sum($command->getPhotoIds() + $command->getCategoryIds());
}
}
$handler = new Handler();
$command = new Command([1, 2], [3, 4]);
echo $handler($command);