Вход Регистрация
Файл: symfony-2.7/src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Fixtures/php/lazy_service.php
Строк: 267
<?php

use SymfonyComponentDependencyInjectionContainerInterface;
use 
SymfonyComponentDependencyInjectionContainer;
use 
SymfonyComponentDependencyInjectionExceptionInactiveScopeException;
use 
SymfonyComponentDependencyInjectionExceptionInvalidArgumentException;
use 
SymfonyComponentDependencyInjectionExceptionLogicException;
use 
SymfonyComponentDependencyInjectionExceptionRuntimeException;
use 
SymfonyComponentDependencyInjectionReference;
use 
SymfonyComponentDependencyInjectionParameter;
use 
SymfonyComponentDependencyInjectionParameterBagFrozenParameterBag;

/**
 * ProjectServiceContainer.
 *
 * This class has been auto-generated
 * by the Symfony Dependency Injection Component.
 */
class LazyServiceProjectServiceContainer extends Container
{
    
/**
     * Constructor.
     */
    
public function __construct()
    {
        
$this->services =
        
$this->scopedServices =
        
$this->scopeStacks = array();

        
$this->set('service_container', $this);

        
$this->scopes = array();
        
$this->scopeChildren = array();
    }

    
/**
     * Gets the 'foo' service.
     *
     * This service is shared.
     * This method always returns the same instance of the service.
     *
     * @param bool $lazyLoad whether to try lazy-loading the service with a proxy
     *
     * @return stdClass A stdClass instance.
     */
    
public function getFooService($lazyLoad = true)
    {
        if (
$lazyLoad) {
            
$container = $this;

            return 
$this->services['foo'] = new stdClass_c1d194250ee2e2b7d2eab8b8212368a8(
                function (& 
$wrappedInstance, ProxyManagerProxyLazyLoadingInterface $proxy) use ($container) {
                    
$wrappedInstance = $container->getFooService(false);

                    
$proxy->setProxyInitializer(null);

                    return 
true;
                }
            );
        }

        return new 
stdClass();
    }
}

class 
stdClass_c1d194250ee2e2b7d2eab8b8212368a8 extends stdClass implements ProxyManagerProxyLazyLoadingInterface, ProxyManagerProxyValueHolderInterface
{
    
/**
     * @var Closure|null initializer responsible for generating the wrapped object
     */
    
private $valueHolder5157dd96e88c0 = null;

    
/**
     * @var Closure|null initializer responsible for generating the wrapped object
     */
    
private $initializer5157dd96e8924 = null;

    
/**
     * @override constructor for lazy initialization
     *
     * @param Closure|null $initializer
     */
    
public function __construct($initializer)
    {
        
$this->initializer5157dd96e8924 = $initializer;
    }

    
/**
     * @param string $name
     */
    
public function __get($name)
    {
        
$this->initializer5157dd96e8924 && $this->initializer5157dd96e8924->__invoke($this->valueHolder5157dd96e88c0, $this, '__get', array('name' => $name));

        return 
$this->valueHolder5157dd96e88c0->$name;
    }

    
/**
     * @param string $name
     * @param mixed  $value
     */
    
public function __set($name, $value)
    {
        
$this->initializer5157dd96e8924 && $this->initializer5157dd96e8924->__invoke($this->valueHolder5157dd96e88c0, $this, '__set', array('name' => $name, 'value' => $value));

        
$this->valueHolder5157dd96e88c0->$name = $value;
    }

    
/**
     * @param string $name
     *
     * @return bool
     */
    
public function __isset($name)
    {
        
$this->initializer5157dd96e8924 && $this->initializer5157dd96e8924->__invoke($this->valueHolder5157dd96e88c0, $this, '__isset', array('name' => $name));

        return isset(
$this->valueHolder5157dd96e88c0->$name);
    }

    
/**
     * @param string $name
     */
    
public function __unset($name)
    {
        
$this->initializer5157dd96e8924 && $this->initializer5157dd96e8924->__invoke($this->valueHolder5157dd96e88c0, $this, '__unset', array('name' => $name));

        unset(
$this->valueHolder5157dd96e88c0->$name);
    }

    
/**
     *
     */
    
public function __clone()
    {
        
$this->initializer5157dd96e8924 && $this->initializer5157dd96e8924->__invoke($this->valueHolder5157dd96e88c0, $this, '__clone', array());

        
$this->valueHolder5157dd96e88c0 = clone $this->valueHolder5157dd96e88c0;
    }

    
/**
     *
     */
    
public function __sleep()
    {
        
$this->initializer5157dd96e8924 && $this->initializer5157dd96e8924->__invoke($this->valueHolder5157dd96e88c0, $this, '__sleep', array());

        return array(
'valueHolder5157dd96e88c0');
    }

    
/**
     *
     */
    
public function __wakeup()
    {
    }

    
/**
     * {@inheritdoc}
     */
    
public function setProxyInitializer(Closure $initializer = null)
    {
        
$this->initializer5157dd96e8924 = $initializer;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getProxyInitializer()
    {
        return 
$this->initializer5157dd96e8924;
    }

    
/**
     * {@inheritdoc}
     */
    
public function initializeProxy()
    {
        return 
$this->initializer5157dd96e8924 && $this->initializer5157dd96e8924->__invoke($this->valueHolder5157dd96e88c0, $this, 'initializeProxy', array());
    }

    
/**
     * {@inheritdoc}
     */
    
public function isProxyInitialized()
    {
        return 
null !== $this->valueHolder5157dd96e88c0;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getWrappedValueHolderValue()
    {
        return 
$this->valueHolder5157dd96e88c0;
    }
}
Онлайн: 0
Реклама