Example #1
0
 /**
  * {@inheritdoc}
  */
 public function getParameterValue($parameterName)
 {
     if (!array_key_exists($parameterName, $this->parameterValues)) {
         throw NoSuchParameterException::forParameterName($parameterName, $this->type->getName());
     }
     return $this->parameterValues[$parameterName];
 }
 /**
  * {@inheritdoc}
  */
 public function validate(array $parameterValues, BindingType $type)
 {
     $violations = array();
     foreach ($parameterValues as $name => $value) {
         if (!$type->hasParameter($name)) {
             $violations[] = new ConstraintViolation(ConstraintViolation::NO_SUCH_PARAMETER, $value, $type->getName(), $name);
         }
     }
     foreach ($type->getParameters() as $parameter) {
         if (!isset($parameterValues[$parameter->getName()])) {
             if ($parameter->isRequired()) {
                 $violations[] = new ConstraintViolation(ConstraintViolation::MISSING_PARAMETER, $parameterValues, $type->getName(), $parameter->getName());
             }
         }
     }
     return $violations;
 }
Example #3
0
 /**
  * @expectedException \Puli\Discovery\Api\Binding\NoSuchParameterException
  */
 public function testGetParameterValueFailsIfNotSet()
 {
     $type = new BindingType('name');
     $type->getParameterValue('foo');
 }