PHP 8.2.30
Preview: StaticMethodLoader.php Size: 1.46 KB
/proc/thread-self/root/opt/alt/php55/usr/share/pear/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php

<?php

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

namespace Symfony\Component\Validator\Mapping\Loader;

use Symfony\Component\Validator\Exception\MappingException;
use Symfony\Component\Validator\Mapping\ClassMetadata;

class StaticMethodLoader implements LoaderInterface
{
    protected $methodName;

    public function __construct($methodName = 'loadValidatorMetadata')
    {
        $this->methodName = $methodName;
    }

    /**
     * {@inheritDoc}
     */
    public function loadClassMetadata(ClassMetadata $metadata)
    {
        /** @var \ReflectionClass $reflClass */
        $reflClass = $metadata->getReflectionClass();

        if (!$reflClass->isInterface() && $reflClass->hasMethod($this->methodName)) {
            $reflMethod = $reflClass->getMethod($this->methodName);

            if ($reflMethod->isAbstract()) {
                return false;
            }

            if (!$reflMethod->isStatic()) {
                throw new MappingException(sprintf('The method %s::%s should be static', $reflClass->name, $this->methodName));
            }

            if ($reflMethod->getDeclaringClass()->name != $reflClass->name) {
                return false;
            }

            $reflMethod->invoke(null, $metadata);

            return true;
        }

        return false;
    }
}

Directory Contents

Dirs: 1 × Files: 11

Name Size Perms Modified Actions
schema DIR
- drwxr-xr-x 2024-03-03 22:54:39
Edit Download
1.94 KB lrw-r--r-- 2019-12-18 11:24:08
Edit Download
3.08 KB lrw-r--r-- 2019-12-18 11:24:08
Edit Download
1023 B lrw-r--r-- 2019-12-18 11:24:08
Edit Download
1.38 KB lrw-r--r-- 2019-12-18 11:24:08
Edit Download
1.70 KB lrw-r--r-- 2019-12-18 11:24:08
Edit Download
575 B lrw-r--r-- 2019-12-18 11:24:08
Edit Download
1.46 KB lrw-r--r-- 2019-12-18 11:24:08
Edit Download
5.80 KB lrw-r--r-- 2019-12-18 11:24:08
Edit Download
646 B lrw-r--r-- 2019-12-18 11:24:08
Edit Download
4.35 KB lrw-r--r-- 2019-12-18 11:24:08
Edit Download
649 B lrw-r--r-- 2019-12-18 11:24:08
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).