Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. GetterMetadata.php

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

ValidatorException

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\Mapping

Code

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);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal