芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/www/portal.pulsehost.co.uk/vendor/respect/validation/library/Rules/Attribute.php
* * For the full copyright and license information, please view the LICENSE file * that was distributed with this source code. */ declare(strict_types=1); namespace Respect\Validation\Rules; use ReflectionException; use ReflectionProperty; use Respect\Validation\Validatable; use function is_object; use function property_exists; /** * Validates an object attribute, event private ones. * * @author Alexandre Gomes Gaigalas
* @author Emmerson Siqueira
* @author Henrique Moody
*/ final class Attribute extends AbstractRelated { public function __construct(string $reference, ?Validatable $rule = null, bool $mandatory = true) { parent::__construct($reference, $rule, $mandatory); } /** * {@inheritDoc} * * @throws ReflectionException */ public function getReferenceValue($input) { $propertyMirror = new ReflectionProperty($input, (string) $this->getReference()); $propertyMirror->setAccessible(true); return $propertyMirror->getValue($input); } /** * {@inheritDoc} */ public function hasReference($input): bool { return is_object($input) && property_exists($input, (string) $this->getReference()); } }