Вход Регистрация
Файл: symfony-2.7/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php
Строк: 258
<?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 SymfonyBundleFrameworkBundleTestsConsoleDescriptor;

use 
SymfonyComponentDependencyInjectionAlias;
use 
SymfonyComponentDependencyInjectionContainerBuilder;
use 
SymfonyComponentDependencyInjectionDefinition;
use 
SymfonyComponentDependencyInjectionParameterBagParameterBag;
use 
SymfonyComponentDependencyInjectionReference;
use 
SymfonyComponentEventDispatcherEventDispatcher;
use 
SymfonyComponentRoutingRoute;
use 
SymfonyComponentRoutingRouteCollection;

class 
ObjectsProvider
{
    public static function 
getRouteCollections()
    {
        
$collection1 = new RouteCollection();
        foreach (
self::getRoutes() as $name => $route) {
            
$collection1->add($name$route);
        }

        return array(
'route_collection_1' => $collection1);
    }

    public static function 
getRoutes()
    {
        return array(
            
'route_1' => new Route(
                
'/hello/{name}',
                array(
'name' => 'Joseph'),
                array(
'name' => '[a-z]+'),
                array(
'opt1' => 'val1''opt2' => 'val2'),
                
'localhost',
                array(
'http''https'),
                array(
'get''head')
            ),
            
'route_2' => new Route(
                
'/name/add',
                array(),
                array(),
                array(
'opt1' => 'val1''opt2' => 'val2'),
                
'localhost',
                array(
'http''https'),
                array(
'put''post')
            ),
        );
    }

    public static function 
getContainerParameters()
    {
        return array(
            
'parameters_1' => new ParameterBag(array(
                
'integer' => 12,
                
'string' => 'Hello world!',
                
'boolean' => true,
                
'array' => array(12'Hello world!'true),
            )),
        );
    }

    public static function 
getContainerParameter()
    {
        
$builder = new ContainerBuilder();
        
$builder->setParameter('database_name''symfony');

        return array(
            
'parameter' =>  $builder,
        );
    }

    public static function 
getContainerBuilders()
    {
        
$builder1 = new ContainerBuilder();
        
$builder1->setDefinitions(self::getContainerDefinitions());
        
$builder1->setAliases(self::getContainerAliases());

        return array(
'builder_1' => $builder1);
    }

    public static function 
getContainerDefinitions()
    {
        
$definition1 = new Definition('Full\Qualified\Class1');
        
$definition2 = new Definition('Full\Qualified\Class2');

        return array(
            
'definition_1' => $definition1
                
->setPublic(true)
                ->
setSynthetic(false)
                ->
setLazy(true)
                ->
setAbstract(true)
                ->
setFactory(array('Full\Qualified\FactoryClass''get')),
            
'definition_2' => $definition2
                
->setPublic(false)
                ->
setSynthetic(true)
                ->
setFile('/path/to/file')
                ->
setLazy(false)
                ->
setAbstract(false)
                ->
addTag('tag1', array('attr1' => 'val1''attr2' => 'val2'))
                ->
addTag('tag1', array('attr3' => 'val3'))
                ->
addTag('tag2')
                ->
setFactory(array(new Reference('factory.service'), 'get')),
        );
    }

    
/**
     * @deprecated since version 2.7, to be removed in 3.0
     * @internal
     */
    
public static function getLegacyContainerDefinitions()
    {
        
$definition1 = new Definition('Full\Qualified\Class1');
        
$definition2 = new Definition('Full\Qualified\Class2');

        return array(
            
'legacy_synchronized_service_definition_1' => $definition1
                
->setPublic(true)
                ->
setSynthetic(false)
                ->
setLazy(true)
                ->
setSynchronized(true)
                ->
setAbstract(true)
                ->
setFactoryClass('Full\Qualified\FactoryClass''get')
                ->
setFactoryMethod('get'),
            
'legacy_synchronized_service_definition_2' => $definition2
                
->setPublic(false)
                ->
setSynthetic(true)
                ->
setFile('/path/to/file')
                ->
setLazy(false)
                ->
setSynchronized(false)
                ->
setAbstract(false)
                ->
addTag('tag1', array('attr1' => 'val1''attr2' => 'val2'))
                ->
addTag('tag1', array('attr3' => 'val3'))
                ->
addTag('tag2')
                ->
setFactoryService('factory.service')
                ->
setFactoryMethod('get'),
        );
    }

    public static function 
getContainerAliases()
    {
        return array(
            
'alias_1' => new Alias('service_1'true),
            
'alias_2' => new Alias('service_2'false),
        );
    }

    public static function 
getEventDispatchers()
    {
        
$eventDispatcher = new EventDispatcher();

        
$eventDispatcher->addListener('event1''global_function');
        
$eventDispatcher->addListener('event1', function () { return 'Closure'; });
        
$eventDispatcher->addListener('event2', new CallableClass());

        return array(
'event_dispatcher_1' => $eventDispatcher);
    }

    public static function 
getCallables()
    {
        return array(
            
'callable_1' => 'array_key_exists',
            
'callable_2' => array('Symfony\Bundle\FrameworkBundle\Tests\Console\Descriptor\CallableClass''staticMethod'),
            
'callable_3' => array(new CallableClass(), 'method'),
            
'callable_4' => 'Symfony\Bundle\FrameworkBundle\Tests\Console\Descriptor\CallableClass::staticMethod',
            
'callable_5' => array('Symfony\Bundle\FrameworkBundle\Tests\Console\Descriptor\ExtendedCallableClass''parent::staticMethod'),
            
'callable_6' => function () { return 'Closure'; },
            
'callable_7' => new CallableClass(),
        );
    }
}

class 
CallableClass
{
    public function 
__invoke()
    {
    }
    public static function 
staticMethod()
    {
    }
    public function 
method()
    {
    }
}

class 
ExtendedCallableClass extends CallableClass
{
    public static function 
staticMethod()
    {
    }
}
Онлайн: 0
Реклама