mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-10-31 09:18:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| declare(strict_types=1);
 | |
| 
 | |
| /*
 | |
|  * Chill is a software for social workers
 | |
|  *
 | |
|  * For the full copyright and license information, please view
 | |
|  * the LICENSE file that was distributed with this source code.
 | |
|  */
 | |
| 
 | |
| namespace App;
 | |
| 
 | |
| use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
 | |
| use Symfony\Component\Config\Loader\LoaderInterface;
 | |
| use Symfony\Component\Config\Resource\FileResource;
 | |
| use Symfony\Component\DependencyInjection\ContainerBuilder;
 | |
| use Symfony\Component\HttpKernel\Kernel as BaseKernel;
 | |
| use Symfony\Component\Routing\RouteCollectionBuilder;
 | |
| 
 | |
| class Kernel extends BaseKernel
 | |
| {
 | |
|     use MicroKernelTrait;
 | |
| 
 | |
|     private const CONFIG_EXTS = '.{php,xml,yaml,yml}';
 | |
| 
 | |
|     public function registerBundles(): iterable
 | |
|     {
 | |
|         $contents = require __DIR__ . '/app/config/bundles.php';
 | |
| 
 | |
|         foreach ($contents as $class => $envs) {
 | |
|             if ($envs[$this->environment] ?? $envs['all'] ?? false) {
 | |
|                 yield new $class();
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public function getProjectDir()
 | |
|     {
 | |
|         return \dirname(__DIR__);
 | |
|     }
 | |
| 
 | |
|     protected function configureRoutes(RouteCollectionBuilder $routes)
 | |
|     {
 | |
|         $confDir = $this->getProjectDir().'/tests/app/config';
 | |
| 
 | |
|         $routes->import($confDir.'/{routes}/'.$this->environment.'/*'.self::CONFIG_EXTS, '/', 'glob');
 | |
|         $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob');
 | |
|         $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob');
 | |
|     }
 | |
| 
 | |
|     protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader)
 | |
|     {
 | |
|         $container->addResource(new FileResource($this->getProjectDir().'/tests/app/config/bundles.php'));
 | |
|         $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug);
 | |
|         $container->setParameter('container.dumper.inline_factories', true);
 | |
|         $confDir = $this->getProjectDir().'/tests/app/config';
 | |
| 
 | |
|         $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob');
 | |
|         $loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob');
 | |
|         $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob');
 | |
|         $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob');
 | |
|     }
 | |
| }
 |