     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: