function GetterMetadata::__construct
Parameters
string $class The class the getter is defined on:
string $property The property which the getter returns:
string|null $method The method that is called to retrieve the value being validated (null for auto-detection):
Throws
Overrides MemberMetadata::__construct
File
-
vendor/
symfony/ validator/ Mapping/ GetterMetadata.php, line 42
Class
- GetterMetadata
- Stores all metadata needed for validating a class property via its getter method.
Namespace
Symfony\Component\Validator\MappingCode
public function __construct(string $class, string $property, ?string $method = null) {
if (null === $method) {
$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));
}
}
elseif (!method_exists($class, $method)) {
throw new ValidatorException(\sprintf('The "%s()" method does not exist in class "%s".', $method, $class));
}
parent::__construct($class, $method, $property);
}