DoctrineExtensions\Tests\Query\ConfigLoader::load PHP Method

load() public static method

public static load ( Doctrine\ORM\Configuration $configuration, string $database )
$configuration Doctrine\ORM\Configuration
$database string
    public static function load(Configuration $configuration, $database)
    {
        $parser = new Parser();
        // Load the corresponding config file.
        $config = $parser->parse(file_get_contents(realpath(__DIR__ . '/../../config/' . $database . '.yml')));
        $parsed = $config['doctrine']['orm']['dql'];
        // Load the existing function classes.
        if (array_key_exists('datetime_functions', $parsed)) {
            foreach ($parsed['datetime_functions'] as $key => $value) {
                $configuration->addCustomDatetimeFunction(strtoupper($key), $value);
            }
        }
        if (array_key_exists('numeric_functions', $parsed)) {
            foreach ($parsed['numeric_functions'] as $key => $value) {
                $configuration->addCustomNumericFunction(strtoupper($key), $value);
            }
        }
        if (array_key_exists('string_functions', $parsed)) {
            foreach ($parsed['string_functions'] as $key => $value) {
                $configuration->addCustomStringFunction(strtoupper($key), $value);
            }
        }
    }

Usage Example

 public function setUp()
 {
     parent::setUp();
     ConfigLoader::load($this->configuration, ConfigLoader::SQLITE);
     $emConfiguration = $this->entityManager->getConfiguration();
     if (method_exists($emConfiguration, 'getQuoteStrategy') === false) {
         // doctrine < 2.3
         $this->columnAlias = 'sclr0';
     } else {
         $this->columnAlias = $emConfiguration->getQuoteStrategy()->getColumnAlias('sclr', 0, $this->entityManager->getConnection()->getDatabasePlatform(), $this->entityManager->getClassMetadata('DoctrineExtensions\\Tests\\Entities\\Date'));
     }
 }
ConfigLoader