1 | <?php |
||
2 | |||
3 | namespace Yokai\MessengerBundle; |
||
4 | |||
5 | use Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass; |
||
6 | use Symfony\Component\DependencyInjection\ContainerBuilder; |
||
7 | use Symfony\Component\HttpKernel\Bundle\Bundle; |
||
8 | use Yokai\MessengerBundle\DependencyInjection\CompilerPass\ConfigureSenderCompilerPass; |
||
9 | use Yokai\MessengerBundle\DependencyInjection\CompilerPass\RegisterMobileAdapterCompilerPass; |
||
10 | use Yokai\MessengerBundle\DependencyInjection\CompilerPass\RegisterSwiftmailerConfiguratorCompilerPass; |
||
11 | |||
12 | /** |
||
13 | * @author Yann Eugoné <[email protected]> |
||
14 | */ |
||
15 | class YokaiMessengerBundle extends Bundle |
||
16 | { |
||
17 | /** |
||
18 | * @inheritdoc |
||
19 | */ |
||
20 | 15 | public function build(ContainerBuilder $container) |
|
21 | { |
||
22 | 15 | $mappingDir = __DIR__.'/Resources/config/model'; |
|
23 | 15 | $namespace = __NAMESPACE__.'\Entity'; |
|
24 | |||
25 | 15 | $loadEntitiesCompilerPass = DoctrineOrmMappingsPass::createXmlMappingDriver( |
|
26 | 15 | [$mappingDir => $namespace], |
|
27 | 15 | [], |
|
28 | 15 | 'yokai_messenger.load_doctrine_orm_mapping', |
|
29 | 15 | [$this->getName() => $namespace] |
|
30 | ); |
||
31 | |||
32 | $container |
||
33 | 15 | ->addCompilerPass(new ConfigureSenderCompilerPass()) |
|
34 | 15 | ->addCompilerPass(new RegisterSwiftmailerConfiguratorCompilerPass()) |
|
35 | 15 | ->addCompilerPass(new RegisterMobileAdapterCompilerPass()) |
|
36 | 15 | ->addCompilerPass($loadEntitiesCompilerPass) |
|
37 | ; |
||
38 | 15 | } |
|
39 | } |
||
40 |