__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <[email protected]>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Validator\Mapping;

use Symfony\Component\Validator\Exception\ValidatorException;

/**
 * Stores all metadata needed for validating a class property.
 *
 * The value of the property is obtained by directly accessing the property.
 * The property will be accessed by reflection, so the access of private and
 * protected properties is supported.
 *
 * This class supports serialization and cloning.
 *
 * @author Bernhard Schussek <[email protected]>
 *
 * @see PropertyMetadataInterface
 */
class PropertyMetadata extends MemberMetadata
{
    /**
     * @param string $class The class this property is defined on
     * @param string $name  The name of this property
     *
     * @throws ValidatorException
     */
    public function __construct(string $class, string $name)
    {
        if (!property_exists($class, $name)) {
            throw new ValidatorException(sprintf('Property "%s" does not exist in class "%s".', $name, $class));
        }

        parent::__construct($class, $name, $name);
    }

    public function getPropertyValue(mixed $object): mixed
    {
        $reflProperty = $this->getReflectionMember($object);

        if ($reflProperty->hasType() && !$reflProperty->isInitialized($object)) {
            // There is no way to check if a property has been unset or if it is uninitialized.
            // When trying to access an uninitialized property, __get method is triggered.

            // If __get method is not present, no fallback is possible
            // Otherwise we need to catch an Error in case we are trying to access an uninitialized but set property.
            if (!method_exists($object, '__get')) {
                return null;
            }

            try {
                return $reflProperty->getValue($object);
            } catch (\Error) {
                return null;
            }
        }

        return $reflProperty->getValue($object);
    }

    protected function newReflectionMember(object|string $objectOrClassName): \ReflectionMethod|\ReflectionProperty
    {
        $originalClass = \is_string($objectOrClassName) ? $objectOrClassName : $objectOrClassName::class;

        while (!property_exists($objectOrClassName, $this->getName())) {
            $objectOrClassName = get_parent_class($objectOrClassName);

            if (false === $objectOrClassName) {
                throw new ValidatorException(sprintf('Property "%s" does not exist in class "%s".', $this->getName(), $originalClass));
            }
        }

        return new \ReflectionProperty($objectOrClassName, $this->getName());
    }
}

Filemanager

Name Type Size Permission Actions
Factory Folder 0775
Loader Folder 0775
AutoMappingStrategy.php File 805 B 0664
CascadingStrategy.php File 1.4 KB 0664
ClassMetadata.php File 16.45 KB 0664
ClassMetadataInterface.php File 2.73 KB 0664
GenericMetadata.php File 6.5 KB 0664
GetterMetadata.php File 2.54 KB 0664
MemberMetadata.php File 4.7 KB 0664
MetadataInterface.php File 1.48 KB 0664
PropertyMetadata.php File 2.78 KB 0664
PropertyMetadataInterface.php File 1.12 KB 0664
TraversalStrategy.php File 1.48 KB 0664
Filemanager