Sindbad~EG File Manager

Current Path : /proc/self/root/opt/cpanel/ea-wappspector/vendor/php-di/php-di/src/Proxy/
Upload File :
Current File : //proc/self/root/opt/cpanel/ea-wappspector/vendor/php-di/php-di/src/Proxy/NativeProxyFactory.php

<?php

declare(strict_types=1);

namespace DI\Proxy;

use LogicException;

/**
 * Uses PHP 8.4+'s native support for lazy proxies to generate proxy objects.
 *
 * @since  7.1
 * @author Buster Neece <buster@busterneece.com>
 */
class NativeProxyFactory implements ProxyFactoryInterface
{
    /**
     * Creates a new lazy proxy instance of the given class with
     * the given initializer.
     *
     * {@inheritDoc}
     */
    public function createProxy(string $className, \Closure $createFunction) : object
    {
        if (\PHP_VERSION_ID < 80400) {
            throw new LogicException('Lazy loading proxies require PHP 8.4 or higher.');
        }

        $reflector = new \ReflectionClass($className);

        return $reflector->newLazyProxy($createFunction);
    }

    public function generateProxyClass(string $className) : void
    {
        // Noop for this type.
    }
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists