Initial Drupal 11 with DDEV setup
This commit is contained in:
		
							
								
								
									
										32
									
								
								vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
			
		||||
<?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\DependencyInjection\LazyProxy\Instantiator;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerInterface;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Definition;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Lazy proxy instantiator, capable of instantiating a proxy given a container, the
 | 
			
		||||
 * service definitions and a callback that produces the real service instance.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Marco Pivetta <ocramius@gmail.com>
 | 
			
		||||
 */
 | 
			
		||||
interface InstantiatorInterface
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Instantiates a proxy object.
 | 
			
		||||
     *
 | 
			
		||||
     * @param string            $id               Identifier of the requested service
 | 
			
		||||
     * @param callable(object=) $realInstantiator A callback that is capable of producing the real service instance
 | 
			
		||||
     */
 | 
			
		||||
    public function instantiateProxy(ContainerInterface $container, Definition $definition, string $id, callable $realInstantiator): object;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										47
									
								
								vendor/symfony/dependency-injection/LazyProxy/Instantiator/LazyServiceInstantiator.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								vendor/symfony/dependency-injection/LazyProxy/Instantiator/LazyServiceInstantiator.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,47 @@
 | 
			
		||||
<?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\DependencyInjection\LazyProxy\Instantiator;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerInterface;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Definition;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
 | 
			
		||||
use Symfony\Component\DependencyInjection\LazyProxy\PhpDumper\LazyServiceDumper;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author Nicolas Grekas <p@tchwork.com>
 | 
			
		||||
 */
 | 
			
		||||
final class LazyServiceInstantiator implements InstantiatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function instantiateProxy(ContainerInterface $container, Definition $definition, string $id, callable $realInstantiator): object
 | 
			
		||||
    {
 | 
			
		||||
        $dumper = new LazyServiceDumper();
 | 
			
		||||
 | 
			
		||||
        if (!$dumper->isProxyCandidate($definition, $asGhostObject, $id)) {
 | 
			
		||||
            throw new InvalidArgumentException(\sprintf('Cannot instantiate lazy proxy for service "%s".', $id));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (\PHP_VERSION_ID >= 80400 && $asGhostObject) {
 | 
			
		||||
            return (new \ReflectionClass($definition->getClass()))->newLazyGhost(static function ($ghost) use ($realInstantiator) { $realInstantiator($ghost); });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $class = null;
 | 
			
		||||
        if (!class_exists($proxyClass = $dumper->getProxyClass($definition, $asGhostObject, $class), false)) {
 | 
			
		||||
            eval($dumper->getProxyCode($definition, $id));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if ($definition->getClass() === $proxyClass) {
 | 
			
		||||
            return $class->newLazyProxy($realInstantiator);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return \PHP_VERSION_ID < 80400 && $asGhostObject ? $proxyClass::createLazyGhost($realInstantiator) : $proxyClass::createLazyProxy($realInstantiator);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										28
									
								
								vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
<?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\DependencyInjection\LazyProxy\Instantiator;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\DependencyInjection\ContainerInterface;
 | 
			
		||||
use Symfony\Component\DependencyInjection\Definition;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Noop proxy instantiator - produces the real service instead of a proxy instance.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Marco Pivetta <ocramius@gmail.com>
 | 
			
		||||
 */
 | 
			
		||||
class RealServiceInstantiator implements InstantiatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function instantiateProxy(ContainerInterface $container, Definition $definition, string $id, callable $realInstantiator): object
 | 
			
		||||
    {
 | 
			
		||||
        return $realInstantiator();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user