wallabag/app/AppKernel.php

132 lines
5.2 KiB
PHP
Raw Permalink Normal View History

2015-01-22 07:30:07 +00:00
<?php
use Symfony\Component\Config\Loader\LoaderInterface;
2018-10-24 19:02:35 +00:00
use Symfony\Component\DependencyInjection\ContainerBuilder;
2017-07-01 07:52:38 +00:00
use Symfony\Component\HttpKernel\Kernel;
2024-02-19 00:30:12 +00:00
use Wallabag\Import\ImportCompilerPass;
2015-01-22 07:30:07 +00:00
class AppKernel extends Kernel
{
public function registerBundles()
{
2016-01-14 17:15:07 +00:00
$bundles = [
2015-01-22 07:30:07 +00:00
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new FOS\RestBundle\FOSRestBundle(),
2015-08-18 09:08:45 +00:00
new FOS\UserBundle\FOSUserBundle(),
new JMS\SerializerBundle\JMSSerializerBundle(),
new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
2015-02-27 20:26:43 +00:00
new Nelmio\CorsBundle\NelmioCorsBundle(),
2015-03-29 08:53:10 +00:00
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
new Spiriit\Bundle\FormFilterBundle\SpiriitFormFilterBundle(),
new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
2015-10-14 19:30:25 +00:00
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
2015-10-13 20:43:15 +00:00
new Scheb\TwoFactorBundle\SchebTwoFactorBundle(),
2015-10-11 14:54:21 +00:00
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
2016-01-21 07:53:09 +00:00
new Craue\ConfigBundle\CraueConfigBundle(),
Remove support for PHP < 7.2 Updating deps - Removing electrolinux/php-html5lib (0.1.0) - Updating doctrine/inflector (1.3.1 => 1.4.3) - Updating doctrine/lexer (1.0.2 => 1.2.1) - Installing symfony/polyfill-php80 (v1.17.0) - Updating symfony/service-contracts (v1.1.8 => v2.1.2) - Installing symfony/deprecation-contracts (v2.1.2) - Updating symfony/mime (v4.4.8 => v5.1.1) - Updating friendsofsymfony/rest-bundle (2.7.4 => 2.8.0) - Updating doctrine/instantiator (1.3.0 => 1.3.1) - Updating ocramius/proxy-manager (2.1.1 => 2.2.3) - Updating php-http/discovery (1.7.4 => 1.8.0) - Updating symfony/http-client-contracts (v1.1.8 => v2.1.2) - Updating symfony/http-client (v4.4.8 => v5.1.1) - Updating php-http/httplug-bundle (1.16.0 => 1.18.0) - Updating symfony/phpunit-bridge (v4.3.11 => v5.1.1) - Updating doctrine/data-fixtures (1.3.3 => 1.4.3) - Updating composer/xdebug-handler (1.4.1 => 1.4.2) - Updating masterminds/html5 (2.7.0 => 2.7.1) - Updating j0k3r/php-readability (1.2.4 => 1.2.5) - Updating phpoption/phpoption (1.7.3 => 1.7.4) - Updating nikic/php-parser (v4.4.0 => v4.5.0) - Installing thecodingmachine/safe (v1.1.1) - Updating spomky-labs/otphp (v9.1.4 => v10.0.1) - Updating pagerfanta/pagerfanta (v2.1.3 => v2.3.0) Package white-october/pagerfanta-bundle is abandoned, you should avoid using it. Use babdev/pagerfanta-bundle instead. - Removing white-october/pagerfanta-bundle (v1.3.2) - Installing babdev/pagerfanta-bundle (v2.4.2) Upgrading PHPStan to 0.12 and use extension installer - Removing phpstan/phpdoc-parser (0.3.5) - Removing nette/utils (v3.1.2) - Removing nette/schema (v1.0.2) - Removing nette/robot-loader (v3.2.3) - Removing nette/php-generator (v3.4.0) - Removing nette/neon (v3.1.2) - Removing nette/finder (v2.5.2) - Removing nette/di (v3.0.4) - Removing nette/bootstrap (v3.0.2) - Updating phpstan/phpstan (0.11.19 => 0.12.29) - Updating phpstan/phpstan-doctrine (0.11.6 => 0.12.16) - Updating phpstan/phpstan-phpunit (0.11.2 => 0.12.11) - Updating phpstan/phpstan-symfony (0.11.6 => 0.12.6) - Installing phpstan/extension-installer (1.0.4) Upgrading jms/serializer-bundle to version 3 (and willdurand/hateoas-bundle to version 2) - Removing phpoption/phpoption (1.7.4) - Removing phpcollection/phpcollection (0.5.0) - Removing jms/parser-lib (1.0.0) - Updating jms/metadata (1.7.0 => 2.3.0) - Updating jms/serializer (1.14.1 => 3.7.0) - Updating jms/serializer-bundle (2.4.4 => 3.6.0) - Updating willdurand/hateoas (2.12.0 => 3.6.0) - Updating willdurand/hateoas-bundle (1.4.0 => 2.1.0) Upgrading dama/doctrine-test-bundle to version 6 - Updating dama/doctrine-test-bundle (v5.0.3 => v6.2.0)
2020-06-15 06:25:59 +00:00
new BabDev\PagerfantaBundle\BabDevPagerfantaBundle(),
2016-10-24 09:20:11 +00:00
new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
2017-10-24 20:55:40 +00:00
new Http\HttplugBundle\HttplugBundle(),
new Sentry\SentryBundle\SentryBundle(),
2022-12-15 11:32:16 +00:00
new Twig\Extra\TwigExtraBundle\TwigExtraBundle(),
2016-01-14 17:15:07 +00:00
];
2015-01-22 07:30:07 +00:00
2016-01-14 17:15:07 +00:00
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
2015-01-22 07:30:07 +00:00
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
if ('test' === $this->getEnvironment()) {
$bundles[] = new DAMA\DoctrineTestBundle\DAMADoctrineTestBundle();
}
2018-10-24 19:02:35 +00:00
if ('dev' === $this->getEnvironment()) {
$bundles[] = new Symfony\Bundle\MakerBundle\MakerBundle();
2018-10-24 19:02:35 +00:00
$bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
}
2015-01-22 07:30:07 +00:00
}
return $bundles;
}
2016-01-14 17:15:07 +00:00
public function getCacheDir()
{
2017-07-01 07:52:38 +00:00
return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment();
2016-01-14 17:15:07 +00:00
}
public function getLogDir()
{
2017-07-01 07:52:38 +00:00
return dirname(__DIR__) . '/var/logs';
2016-01-14 17:15:07 +00:00
}
2015-01-22 07:30:07 +00:00
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load($this->getProjectDir() . '/app/config/config_' . $this->getEnvironment() . '.yml');
2018-10-24 19:02:35 +00:00
$loader->load(function ($container) {
2017-07-01 07:52:38 +00:00
if ($container->getParameter('use_webpack_dev_server')) {
$container->loadFromExtension('framework', [
2024-03-19 08:28:19 +00:00
'assets' => [
'base_url' => 'http://localhost:8080/',
],
]);
} else {
2017-12-20 20:53:11 +00:00
$container->loadFromExtension('framework', [
'assets' => [
'base_url' => $container->getParameter('domain_name'),
],
2017-12-20 20:53:11 +00:00
]);
}
});
2018-10-24 19:02:35 +00:00
$loader->load(function (ContainerBuilder $container) {
// $container->setParameter('container.autowiring.strict_mode', true);
// $container->setParameter('container.dumper.inline_class_loader', true);
$container->addObjectResource($this);
});
2024-01-04 01:04:20 +00:00
$loader->load(function (ContainerBuilder $container) {
$this->processDatabaseParameters($container);
});
}
protected function build(ContainerBuilder $container)
{
$container->addCompilerPass(new ImportCompilerPass());
}
2024-01-04 23:41:13 +00:00
private function processDatabaseParameters(ContainerBuilder $container)
2024-01-04 01:04:20 +00:00
{
2024-01-04 23:41:13 +00:00
switch ($container->getParameter('database_driver')) {
2024-01-04 01:04:20 +00:00
case 'pdo_mysql':
$scheme = 'mysql';
break;
case 'pdo_pgsql':
$scheme = 'pgsql';
break;
case 'pdo_sqlite':
$scheme = 'sqlite';
break;
default:
2024-01-01 18:11:01 +00:00
throw new RuntimeException('Unsupported database driver: ' . $container->getParameter('database_driver'));
2024-01-04 01:04:20 +00:00
}
2024-01-04 23:41:13 +00:00
$container->setParameter('database_scheme', $scheme);
2024-01-04 01:04:20 +00:00
if ('sqlite' === $scheme) {
2024-01-04 23:41:13 +00:00
$container->setParameter('database_name', $container->getParameter('database_path'));
2024-01-04 01:04:20 +00:00
}
2024-01-04 23:41:13 +00:00
$container->setParameter('database_user', (string) $container->getParameter('database_user'));
$container->setParameter('database_password', (string) $container->getParameter('database_password'));
$container->setParameter('database_port', (string) $container->getParameter('database_port'));
$container->setParameter('database_socket', (string) $container->getParameter('database_socket'));
2015-01-22 07:30:07 +00:00
}
}