$accesses * @param Access $access * @return array * @see UtilsTest::testFilterAccesses() */ public function filterAccesses(array $accesses, Access $access): array { return array_filter($accesses, function($a) use($access){ /** @var Access $a */ return $a->getId() !== $access->getId(); }); } /** * Recherche parmis les roles si l'Access possède celui passé en paramètre * @param Access $access * @param string $roleToHave * @return bool * @see UtilsTest::testHasRoles() */ public function hasRoles(Access $access, string $roleToHave): bool{ return in_array($roleToHave, $this->getAllRoles($access)); } /** * Va récupérer les roles d'access + les roles optionnels possibles * @param Access $access * @return array * @see UtilsTest::testGetAllRoles() */ public function getAllRoles(Access $access): array { $roles = $this->optionalsRolesIterator->getOptionalsRoles($access); return $this->roleHierarchy->getReachableRoleNames(array_merge($access->getRoles(), $roles)); } }