Matthias\SymfonyServiceDefinitionValidator\ArgumentValidator::validate PHP Метод

validate() публичный Метод

public validate ( ReflectionParameter $parameter, $argument )
$parameter ReflectionParameter
    public function validate(\ReflectionParameter $parameter, $argument)
    {
        if ($parameter->isArray()) {
            if ($parameter->allowsNull() && is_null($argument)) {
                return;
            }
            $this->validateArrayArgument($argument);
        } elseif ($parameter->getClass()) {
            $this->validateObjectArgument($parameter->getClass()->getName(), $argument, $parameter->allowsNull());
        }
        // other arguments don't need to be or can't be validated
    }

Usage Example

 public function testFailsIfExpressionCouldNotBeEvaluated()
 {
     $this->skipTestIfExpressionsAreNotAvailable();
     $class = 'Matthias\\SymfonyServiceDefinitionValidator\\Tests\\Fixtures\\ClassWithTypeHintedConstructorArgument';
     $parameter = new \ReflectionParameter(array($class, '__construct'), 'expected');
     $argument = new Expression('service("invalid service")');
     $validator = new ArgumentValidator(new ContainerBuilder(), $this->createMockResultingClassResolver(), true);
     $this->setExpectedException('Matthias\\SymfonyServiceDefinitionValidator\\Exception\\InvalidExpressionException');
     $validator->validate($parameter, $argument);
 }