You are here

public function GetterMetadata::__construct in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/validator/Mapping/GetterMetadata.php \Symfony\Component\Validator\Mapping\GetterMetadata::__construct()

Constructor.

Parameters

string $class The class the getter is defined on:

string $property The property which the getter returns:

Throws

ValidatorException

Overrides MemberMetadata::__construct

File

vendor/symfony/validator/Mapping/GetterMetadata.php, line 43

Class

GetterMetadata
Stores all metadata needed for validating a class property via its getter method.

Namespace

Symfony\Component\Validator\Mapping

Code

public function __construct($class, $property) {
  $getMethod = 'get' . ucfirst($property);
  $isMethod = 'is' . ucfirst($property);
  $hasMethod = 'has' . ucfirst($property);
  if (method_exists($class, $getMethod)) {
    $method = $getMethod;
  }
  elseif (method_exists($class, $isMethod)) {
    $method = $isMethod;
  }
  elseif (method_exists($class, $hasMethod)) {
    $method = $hasMethod;
  }
  else {
    throw new ValidatorException(sprintf('Neither of these methods exist in class %s: %s, %s, %s', $class, $getMethod, $isMethod, $hasMethod));
  }
  parent::__construct($class, $method, $property);
}