mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-11-04 03:08:25 +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');
 | 
						|
    }
 | 
						|
}
 |