Вход Регистрация
Файл: vendor/symfony/http-kernel/Bundle/AbstractBundle.php
Строк: 163
<?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 SymfonyComponentHttpKernelBundle;

use 
SymfonyComponentConfigDefinitionConfiguratorDefinitionConfigurator;
use 
SymfonyComponentDependencyInjectionContainer;
use 
SymfonyComponentDependencyInjectionContainerBuilder;
use 
SymfonyComponentDependencyInjectionExtensionConfigurableExtensionInterface;
use 
SymfonyComponentDependencyInjectionExtensionExtensionInterface;
use 
SymfonyComponentDependencyInjectionLoaderConfiguratorContainerConfigurator;

/**
 * A Bundle that provides configuration hooks.
 *
 * @author Yonel Ceruto <yonelceruto@gmail.com>
 */
abstract class AbstractBundle extends Bundle implements ConfigurableExtensionInterface
{
    protected 
string $extensionAlias '';

    public function 
configure(DefinitionConfigurator $definition): void
    
{
    }

    public function 
prependExtension(ContainerConfigurator $containerContainerBuilder $builder): void
    
{
    }

    public function 
loadExtension(array $configContainerConfigurator $containerContainerBuilder $builder): void
    
{
    }

    public function 
getContainerExtension(): ?ExtensionInterface
    
{
        if (
'' === $this->extensionAlias) {
            
$this->extensionAlias Container::underscore(preg_replace('/Bundle$/'''$this->getName()));
        }

        return 
$this->extension ??= new BundleExtension($this$this->extensionAlias);
    }

    public function 
getPath(): string
    
{
        if (
null === $this->path) {
            
$reflected = new ReflectionObject($this);
            
// assume the modern directory structure by default
            
$this->path dirname($reflected->getFileName(), 2);
        }

        return 
$this->path;
    }
}
Онлайн: 3
Реклама