今回はUsersというUserが配列で複数渡されるメソッドで,Userの型検証を行う方法について書いていきたいと思います.
use App\Model\Entity\User; // クラス内で public function getUsers(array $users) { $isUsers = collection($users)->every( function($user) { return $user instanceof User; } ); if(!$isUsers) throw new \InvalidArgumentException("Invalid users given"); $this->users = $users; return $this; } //
上記はチェーンメソッドを実装したクラスにおけるUserのセッターです.コレクションのeveryを使用することで,usersの配列の中が全てUserのインスタンスであるかどうかを検証することができます.