|
7 | 7 | use ProxyManager\Proxy\VirtualProxyInterface;
|
8 | 8 | use PSS\SymfonyMockerContainer\DependencyInjection\MockerContainer;
|
9 | 9 | use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
|
| 10 | +use Symfony\Component\Config\Loader\DelegatingLoader; |
10 | 11 | use Symfony\Component\Config\Loader\LoaderInterface;
|
| 12 | +use Symfony\Component\Config\Loader\LoaderResolver; |
11 | 13 | use Symfony\Component\Config\Resource\FileResource;
|
12 | 14 | use Symfony\Component\DependencyInjection\ContainerBuilder;
|
13 | 15 | use Symfony\Component\DependencyInjection\ContainerInterface;
|
| 16 | +use Symfony\Component\DependencyInjection\Loader\ClosureLoader; |
| 17 | +use Symfony\Component\DependencyInjection\Loader\DirectoryLoader; |
| 18 | +use Symfony\Component\DependencyInjection\Loader\GlobFileLoader; |
| 19 | +use Symfony\Component\DependencyInjection\Loader\IniFileLoader; |
| 20 | +use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; |
| 21 | +use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; |
| 22 | +use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; |
| 23 | +use Symfony\Component\HttpKernel\Config\FileLocator; |
14 | 24 | use Symfony\Component\HttpKernel\Kernel as BaseKernel;
|
15 | 25 | use Symfony\Component\Routing\RouteCollectionBuilder;
|
| 26 | +use Webmozart\Assert\Assert; |
16 | 27 |
|
17 | 28 | final class Kernel extends BaseKernel
|
18 | 29 | {
|
@@ -96,6 +107,25 @@ protected function getContainerBaseClass(): string
|
96 | 107 | return parent::getContainerBaseClass();
|
97 | 108 | }
|
98 | 109 |
|
| 110 | + protected function getContainerLoader(ContainerInterface $container): LoaderInterface |
| 111 | + { |
| 112 | + /** @var ContainerBuilder $container */ |
| 113 | + Assert::isInstanceOf($container, ContainerBuilder::class); |
| 114 | + |
| 115 | + $locator = new FileLocator($this, $this->getRootDir() . '/Resources'); |
| 116 | + $resolver = new LoaderResolver(array( |
| 117 | + new XmlFileLoader($container, $locator), |
| 118 | + new YamlFileLoader($container, $locator), |
| 119 | + new IniFileLoader($container, $locator), |
| 120 | + new PhpFileLoader($container, $locator), |
| 121 | + new GlobFileLoader($container, $locator), |
| 122 | + new DirectoryLoader($container, $locator), |
| 123 | + new ClosureLoader($container), |
| 124 | + )); |
| 125 | + |
| 126 | + return new DelegatingLoader($resolver); |
| 127 | + } |
| 128 | + |
99 | 129 | private function isTestEnvironment(): bool
|
100 | 130 | {
|
101 | 131 | return 0 === strpos($this->getEnvironment(), 'test');
|
|
0 commit comments