]> git.immae.eu Git - github/wallabag/wallabag.git/blob - app/AppKernel.php
Merge pull request #3271 from wallabag/store-resolved-url
[github/wallabag/wallabag.git] / app / AppKernel.php
1 <?php
2
3 use Symfony\Component\Config\Loader\LoaderInterface;
4 use Symfony\Component\DependencyInjection\ContainerBuilder;
5 use Symfony\Component\HttpKernel\Kernel;
6
7 class AppKernel extends Kernel
8 {
9 public function registerBundles()
10 {
11 $bundles = [
12 new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
13 new Symfony\Bundle\SecurityBundle\SecurityBundle(),
14 new Symfony\Bundle\TwigBundle\TwigBundle(),
15 new Symfony\Bundle\MonologBundle\MonologBundle(),
16 new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
17 new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
18 new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
19 new FOS\RestBundle\FOSRestBundle(),
20 new FOS\UserBundle\FOSUserBundle(),
21 new JMS\SerializerBundle\JMSSerializerBundle(),
22 new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
23 new Nelmio\CorsBundle\NelmioCorsBundle(),
24 new Liip\ThemeBundle\LiipThemeBundle(),
25 new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
26 new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
27 new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
28 new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
29 new Scheb\TwoFactorBundle\SchebTwoFactorBundle(),
30 new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
31 new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
32 new Craue\ConfigBundle\CraueConfigBundle(),
33 new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
34 new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
35 new BD\GuzzleSiteAuthenticatorBundle\BDGuzzleSiteAuthenticatorBundle(),
36 new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
37 new Http\HttplugBundle\HttplugBundle(),
38
39 // wallabag bundles
40 new Wallabag\CoreBundle\WallabagCoreBundle(),
41 new Wallabag\ApiBundle\WallabagApiBundle(),
42 new Wallabag\UserBundle\WallabagUserBundle(),
43 new Wallabag\ImportBundle\WallabagImportBundle(),
44 new Wallabag\AnnotationBundle\WallabagAnnotationBundle(),
45 ];
46
47 if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
48 $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
49 $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
50 $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
51 $bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
52
53 if ('test' === $this->getEnvironment()) {
54 $bundles[] = new DAMA\DoctrineTestBundle\DAMADoctrineTestBundle();
55 }
56
57 if ('dev' === $this->getEnvironment()) {
58 $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
59 $bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
60 }
61 }
62
63 return $bundles;
64 }
65
66 public function getRootDir()
67 {
68 return __DIR__;
69 }
70
71 public function getCacheDir()
72 {
73 return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment();
74 }
75
76 public function getLogDir()
77 {
78 return dirname(__DIR__) . '/var/logs';
79 }
80
81 public function registerContainerConfiguration(LoaderInterface $loader)
82 {
83 $loader->load($this->getRootDir() . '/config/config_' . $this->getEnvironment() . '.yml');
84
85 $loader->load(function ($container) {
86 if ($container->getParameter('use_webpack_dev_server')) {
87 $container->loadFromExtension('framework', [
88 'assets' => [
89 'base_url' => 'http://localhost:8080/',
90 ],
91 ]);
92 } else {
93 $container->loadFromExtension('framework', [
94 'assets' => [
95 'base_url' => $container->getParameter('domain_name'),
96 ],
97 ]);
98 }
99 });
100
101 $loader->load(function (ContainerBuilder $container) {
102 // $container->setParameter('container.autowiring.strict_mode', true);
103 // $container->setParameter('container.dumper.inline_class_loader', true);
104 $container->addObjectResource($this);
105 });
106 }
107 }