private function validateFunctionSignature()

in src/FunctionValidationTrait.php [34:54]


    private function validateFunctionSignature(
        ReflectionFunctionAbstract $reflection
    ) {
        $parameters = $reflection->getParameters();
        $parametersCount = count($parameters);

        if ($parametersCount === 0) {
            $this->throwInvalidFirstParameterException();
        }

        $this->validateFirstParameter($parameters[0]);

        for ($i = 1; $i < $parametersCount; $i++) {
            if (!$parameters[$i]->isOptional()) {
                throw new LogicException(
                    'If your function accepts more than one parameter the '
                    . 'additional parameters must be optional'
                );
            }
        }
    }