Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
languages
/
wp-content
/
plugins
/
mailpoet
/
vendor-prefixed
/
symfony
/
validator
/
Mapping
:
GetterMetadata.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace MailPoetVendor\Symfony\Component\Validator\Mapping; if (!defined('ABSPATH')) exit; use MailPoetVendor\Symfony\Component\Validator\Exception\ValidatorException; class GetterMetadata extends MemberMetadata { 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); } public function getPropertyValue($object) { return $this->newReflectionMember($object)->invoke($object); } protected function newReflectionMember($objectOrClassName) { return new \ReflectionMethod($objectOrClassName, $this->getName()); } }