1: <?php
2: /*************************************************************************************/
3: /* */
4: /* Thelia */
5: /* */
6: /* Copyright (c) OpenStudio */
7: /* email : info@thelia.net */
8: /* web : http://www.thelia.net */
9: /* */
10: /* This program is free software; you can redistribute it and/or modify */
11: /* it under the terms of the GNU General Public License as published by */
12: /* the Free Software Foundation; either version 3 of the License */
13: /* */
14: /* This program is distributed in the hope that it will be useful, */
15: /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
16: /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
17: /* GNU General Public License for more details. */
18: /* */
19: /* You should have received a copy of the GNU General Public License */
20: /* along with this program. If not, see <http://www.gnu.org/licenses/>. */
21: /* */
22: /*************************************************************************************/
23: namespace Thelia\Core\Bundle;
24:
25: use Symfony\Component\HttpKernel\Bundle\Bundle;
26: use Symfony\Component\DependencyInjection\ContainerBuilder;
27: use Symfony\Component\DependencyInjection\Reference;
28: use Symfony\Component\DependencyInjection\Scope;
29:
30: use Thelia\Core\DependencyInjection\Compiler\RegisterListenersPass;
31:
32: /**
33: * First Bundle use in Thelia
34: * It initialize dependency injection container.
35: *
36: * @TODO load configuration from thelia plugin
37: * @TODO register database configuration.
38: *
39: *
40: * @author Manuel Raynaud <mraynaud@openstudio.fr>
41: */
42:
43: class TheliaBundle extends Bundle
44: {
45: /**
46: *
47: * Construct the depency injection builder
48: *
49: * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
50: */
51:
52: public function build(ContainerBuilder $container)
53: {
54: parent::build($container);
55:
56: $container->addScope(new Scope('request'));
57:
58: $container->addCompilerPass(new RegisterListenersPass());
59: }
60: }
61: