Eva\EvaEngine\Engine::diModelsMetadata PHP Method

diModelsMetadata() public method

public diModelsMetadata ( )
    public function diModelsMetadata()
    {
        $adapterMapping = array('apc' => 'Phalcon\\Mvc\\Model\\MetaData\\Apc', 'files' => 'Phalcon\\Mvc\\Model\\MetaData\\Files', 'memory' => 'Phalcon\\Mvc\\Model\\MetaData\\Memory', 'xcache' => 'Phalcon\\Mvc\\Model\\MetaData\\Xcache', 'memcache' => 'Phalcon\\Mvc\\Model\\MetaData\\Memcache', 'redis' => 'Phalcon\\Mvc\\Model\\MetaData\\Redis', 'wincache' => 'Phalcon\\Mvc\\Model\\MetaData\\Wincache');
        $config = $this->getDI()->getConfig();
        if (!$config->modelsMetadata->enable) {
            return new \Phalcon\Mvc\Model\MetaData\Memory();
        }
        $adapterKey = $config->modelsMetadata->adapter;
        $adapterKey = false === strpos($adapterKey, '\\') ? strtolower($adapterKey) : $adapterKey;
        //Allow full class name as adapter name
        $adapterClass = empty($adapterMapping[$adapterKey]) ? $adapterKey : $adapterMapping[$adapterKey];
        if (!class_exists($adapterClass)) {
            throw new Exception\RuntimeException(sprintf('No metadata adapter found by %s', $adapterClass));
        }
        return new $adapterClass($config->modelsMetadata->options->toArray());
    }