Ver Fonte

Merge remote branch 'henrikbjorn/doctrine-mongodb-hydrator-dir'

* henrikbjorn/doctrine-mongodb-hydrator-dir:
  [DoctrineMongoDBBundle] Fixed unit tests for hydrator_dir and proxy_dir
  [DoctrineMongoDBBundle] Made hydrator_dir and proxy_dir configurable. Moved default values for the params to Configuration class
Fabien Potencier há 14 anos atrás
pai
commit
ea1a16b99f

+ 2 - 0
src/Symfony/Bundle/DoctrineMongoDBBundle/DependencyInjection/Configuration.php

@@ -41,8 +41,10 @@ class Configuration implements ConfigurationInterface
         $rootNode
             ->children()
                 ->scalarNode('proxy_namespace')->defaultValue('Proxies')->end()
+                ->scalarNode('proxy_dir')->defaultValue('%kernel.cache_dir%/doctrine/odm/mongodb/Proxies')->end()
                 ->scalarNode('auto_generate_proxy_classes')->defaultValue(false)->end()
                 ->scalarNode('hydrator_namespace')->defaultValue('Hydrators')->end()
+                ->scalarNode('hydrator_dir')->defaultValue('%kernel.cache_dir%/doctrine/odm/mongodb/Hydrators')->end()
                 ->scalarNode('auto_generate_hydrator_classes')->defaultValue(false)->end()
                 ->scalarNode('default_document_manager')->end()
                 ->scalarNode('default_connection')->end()

+ 4 - 2
src/Symfony/Bundle/DoctrineMongoDBBundle/DependencyInjection/DoctrineMongoDBExtension.php

@@ -85,8 +85,10 @@ class DoctrineMongoDBExtension extends AbstractDoctrineExtension
     {
         $overrides = array(
             'proxy_namespace',
+            'proxy_dir',
             'auto_generate_proxy_classes',
             'hydrator_namespace',
+            'hydrator_dir',
             'auto_generate_hydrator_classes',
         );
 
@@ -153,10 +155,10 @@ class DoctrineMongoDBExtension extends AbstractDoctrineExtension
         $methods = array(
             'setMetadataCacheImpl' => new Reference(sprintf('doctrine.odm.mongodb.%s_metadata_cache', $documentManager['name'])),
             'setMetadataDriverImpl' => new Reference(sprintf('doctrine.odm.mongodb.%s_metadata_driver', $documentManager['name'])),
-            'setProxyDir' => '%kernel.cache_dir%'.'/doctrine/odm/mongodb/Proxies',
+            'setProxyDir' => '%doctrine.odm.mongodb.proxy_dir%',
             'setProxyNamespace' => '%doctrine.odm.mongodb.proxy_namespace%',
             'setAutoGenerateProxyClasses' => '%doctrine.odm.mongodb.auto_generate_proxy_classes%',
-            'setHydratorDir' => '%kernel.cache_dir%'.'/doctrine/odm/mongodb/Hydrators',
+            'setHydratorDir' => '%doctrine.odm.mongodb.hydrator_dir%',
             'setHydratorNamespace' => '%doctrine.odm.mongodb.hydrator_namespace%',
             'setAutoGenerateHydratorClasses' => '%doctrine.odm.mongodb.auto_generate_hydrator_classes%',
             'setDefaultDB' => $defaultDatabase,

+ 1 - 1
src/Symfony/Bundle/DoctrineMongoDBBundle/Resources/config/mongodb.xml

@@ -116,4 +116,4 @@
         </service>
         <service id="doctrine.odm.mongodb.security.user.document_manager" alias="doctrine.odm.mongodb.default_document_manager" public="false" />
     </services>
-</container>
+</container>

+ 11 - 7
src/Symfony/Bundle/DoctrineMongoDBBundle/Tests/DependencyInjection/ConfigurationTest.php

@@ -25,13 +25,15 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
         $options = $processor->processConfiguration($configuration, array());
 
         $defaults = array(
-            'auto_generate_hydrator_classes'    => false,
-            'auto_generate_proxy_classes'       => false,
-            'default_database'                  => 'default',
-            'document_managers'                 => array(),
-            'connections'                       => array(),
-            'proxy_namespace'                   => 'Proxies',
-            'hydrator_namespace'                => 'Hydrators',
+            'auto_generate_hydrator_classes' => false,
+            'auto_generate_proxy_classes'    => false,
+            'default_database'               => 'default',
+            'document_managers'              => array(),
+            'connections'                    => array(),
+            'proxy_dir'                      => '%kernel.cache_dir%/doctrine/odm/mongodb/Proxies',
+            'proxy_namespace'                => 'Proxies',
+            'hydrator_dir'                   => '%kernel.cache_dir%/doctrine/odm/mongodb/Hydrators',
+            'hydrator_namespace'             => 'Hydrators',
         );
 
         foreach ($defaults as $key => $default) {
@@ -58,8 +60,10 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
         $options = $processor->processConfiguration($configuration, array($config));
 
         $expected = array(
+            'proxy_dir'                         => '%kernel.cache_dir%/doctrine/odm/mongodb/Proxies',
             'proxy_namespace'                   => 'Test_Proxies',
             'auto_generate_proxy_classes'       => true,
+            'hydrator_dir'                      => '%kernel.cache_dir%/doctrine/odm/mongodb/Hydrators',
             'hydrator_namespace'                => 'Test_Hydrators',
             'auto_generate_hydrator_classes'    => true,
             'default_document_manager'          => 'default_dm_name',