Example #1
0
 /**
  * Initialize the entity manager using the provided configuration.
  *
  * Configuration options are detailed in the Configuration class, and can be passed as an array of values instead
  * of a Configuration object.
  * 
  * @param Configuration|array $configuration Various information about how the entity manager should behave.
  * @throws Exception Thrown when argument is not a configuration object or array.
  */
 public function __construct($configuration = null)
 {
     //Check if there was a configuration provided
     if (is_null($configuration)) {
         //Create a new default config
         $configuration = new Configuration();
     } elseif (is_array($configuration)) {
         $configuration = new Configuration($configuration);
     } elseif (!$configuration instanceof Configuration) {
         //Not a configuration object
         throw new Exception('Provided argument must be a Configuration object or an array.');
     }
     //Get a proxy factory
     $this->proxyFactory = $configuration->getProxyFactory();
     //Get the database connection from the client
     $this->client = $configuration->getClient();
     //Get a meta repository from the configuration
     $this->metaRepository = $configuration->getMetaRepository();
     //Get the date generator function to use
     $this->dateGenerator = $configuration->getDateGenerator();
 }
Example #2
0
 function testSpecifyAnnotationReader()
 {
     $reader = new \Doctrine\Common\Annotations\CachedReader(new \Doctrine\Common\Annotations\AnnotationReader(), new \Doctrine\Common\Cache\ArrayCache());
     $configuration = new Configuration(array('annotation_reader' => $reader));
     $this->assertEquals(new Repository($reader), $configuration->getMetaRepository());
 }