<?php
/**
* Class MWSUserBundle
* @package MWS\UserBundle
* @author Martin Walther <martin@myweb.solutions>
*
* (c) MyWebSolutions
*
*/
namespace MWS\UserBundle;
use Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass;
use MWS\UserBundle\DependencyInjection\Compiler\InjectRememberMeServicesPass;
use MWS\UserBundle\DependencyInjection\Compiler\InjectUserCheckerPass;
use MWS\UserBundle\DependencyInjection\Compiler\ValidationPass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class MWSUserBundle extends Bundle
{
/**
* @param ContainerBuilder $container
*/
public function build(ContainerBuilder $container)
{
parent::build($container);
$container->addCompilerPass(new ValidationPass());
$container->addCompilerPass(new InjectUserCheckerPass());
$container->addCompilerPass(new InjectRememberMeServicesPass());
$this->addRegisterMappingsPass($container);
}
/**
* @param ContainerBuilder $container
*/
private function addRegisterMappingsPass(ContainerBuilder $container)
{
$adminEntities = realpath(__DIR__.'/Resources/config/doctrine-mapping/Entity');
$adminModels = realpath(__DIR__.'/Resources/config/doctrine-mapping/Model');
$mappings = [
$adminEntities => 'MWS\UserBundle\Entity',
$adminModels => 'MWS\UserBundle\Model'
];
if (class_exists('Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass')) {
$container->addCompilerPass(DoctrineOrmMappingsPass::createXmlMappingDriver($mappings));
}
}
}