mirror of
https://github.com/symfony/web-profiler-bundle.git
synced 2026-03-24 00:02:13 +01:00
89 lines
2.8 KiB
PHP
89 lines
2.8 KiB
PHP
<?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 Symfony\Bundle\WebProfilerBundle\Tests\Functional;
|
|
|
|
use Psr\Log\NullLogger;
|
|
use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
|
|
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
|
|
use Symfony\Bundle\TwigBundle\TwigBundle;
|
|
use Symfony\Bundle\WebProfilerBundle\WebProfilerBundle;
|
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector;
|
|
use Symfony\Component\HttpKernel\Kernel;
|
|
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
|
|
|
|
class WebProfilerBundleKernel extends Kernel
|
|
{
|
|
use MicroKernelTrait;
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct('test', false);
|
|
}
|
|
|
|
public function registerBundles(): iterable
|
|
{
|
|
return [
|
|
new FrameworkBundle(),
|
|
new TwigBundle(),
|
|
new WebProfilerBundle(),
|
|
];
|
|
}
|
|
|
|
protected function configureRoutes(RoutingConfigurator $routes): void
|
|
{
|
|
$routes->import(__DIR__.'/../../Resources/config/routing/profiler.php')->prefix('/_profiler');
|
|
$routes->import(__DIR__.'/../../Resources/config/routing/wdt.php')->prefix('/_wdt');
|
|
$routes->add('_', '/')->controller('kernel::homepageController');
|
|
}
|
|
|
|
protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
|
|
{
|
|
$config = [
|
|
'secret' => 'foo-secret',
|
|
'profiler' => ['only_exceptions' => false],
|
|
'session' => ['handler_id' => null, 'storage_factory_id' => 'session.storage.factory.mock_file', 'cookie-secure' => 'auto', 'cookie-samesite' => 'lax'],
|
|
'router' => ['utf8' => true],
|
|
];
|
|
|
|
$container->loadFromExtension('framework', $config);
|
|
|
|
$container->loadFromExtension('web_profiler', [
|
|
'toolbar' => true,
|
|
'intercept_redirects' => false,
|
|
]);
|
|
}
|
|
|
|
public function getCacheDir(): string
|
|
{
|
|
return sys_get_temp_dir().'/cache-'.spl_object_hash($this);
|
|
}
|
|
|
|
public function getLogDir(): string
|
|
{
|
|
return sys_get_temp_dir().'/log-'.spl_object_hash($this);
|
|
}
|
|
|
|
protected function build(ContainerBuilder $container): void
|
|
{
|
|
$container->register('data_collector.dump', DumpDataCollector::class);
|
|
$container->register('logger', NullLogger::class);
|
|
}
|
|
|
|
public function homepageController(): Response
|
|
{
|
|
return new Response('<html><head></head><body>Homepage Controller.</body></html>');
|
|
}
|
|
}
|