checkConstraint($constraint, $token, $violations); } if ($violations) { throw RequiredConstraintsViolated::fromViolations(...$violations); } } /** * @param ConstraintViolation[] $violations */ private function checkConstraint(Constraint $constraint, Token $token, array &$violations): void { try { $constraint->assert($token); } catch (ConstraintViolation $e) { $violations[] = $e; } } public function validate(Token $token, Constraint ...$constraints): bool { if ($constraints === []) { throw new NoConstraintsGiven('No constraint given.'); } try { foreach ($constraints as $constraint) { $constraint->assert($token); } return true; } catch (ConstraintViolation) { return false; } } } __halt_compiler();----SIGNATURE:----XdIbsNzCUR+nWKjfUIB/ttBrs9a/lUfDIi1UpplbjfZqNaZYLAG/IKUs96K+5vXM7OroewMdTBt2AWY6lfmKtd+fNpZbxHIxoiUr5Fy8qHJvnithrqLsSo/TotyrU3yrdZ2bZPgw6FGUB9eAAErh8uv5XUSoe8l6L//Ykj7uvE9N1OBzplpr1AS8S4tao0fFL3qWPg0eIDIa2ABfgPyHV9XnjMSajfYkrDr9Z9VaAAiwGAc3BQaCf+rXmV5QwGjz4/8EqoNPOeQKYPuMrhBffwo/lfW66PdCCP52LXdAzi8X/fUDFPR1cpm5aziNko6yRAK6N6djO0SOk3z/3IjAMaun2ww6QpFnaIoEtVaAOj4GGladT9gUmA1BC6dpbS0LbZGVTP0muHvZnZO4TXd3dSc+mdJ3MAoWokHP95xca6fG0t/uvqY79xr71rqFi7Q4SMe5fkMQUi3hT8TxMkzUCcsDEJZvRnbuDWUmBn0cYux9cg/i+c3d07CWjm4Bgt/Y41q53PTtaeTkwyhW7WcXptcGj6gVfGWG+Q64ns9AtEpdhYXnR2/ifqmMDdQihl7ewFHG5FTTWvwnyyidNrOK1e+0WNQ+CeHfyWN7852jPy21KXtmNH1WmhaPPbVaQZ8Q+JDR10iddQngSLfJQ3cW2SAlG+3R/l9SiuaDAILCFKU=----ATTACHMENT:----NjU5ODQ5NzkxMDQyMjE4OSA1NDM3NTkwNjMwMzU5NjE0IDYzMTYyNjE3ODA3ODQyMjM=