Pagekit\Database\ORM\MetadataManager::setCache PHP Метод

setCache() публичный Метод

Sets the cache used for caching Metadata objects.
public setCache ( Doctrine\Common\Cache\Cache $cache )
$cache Doctrine\Common\Cache\Cache
    public function setCache(Cache $cache)
    {
        $this->cache = $cache;
    }

Usage Example

Пример #1
0
use Pagekit\Event\PrefixEventDispatcher;
return ['name' => 'database', 'main' => function ($app) {
    $default = ['wrapperClass' => 'Pagekit\\Database\\Connection'];
    $app['dbs'] = function () use($default) {
        $dbs = [];
        foreach ($this->config['connections'] as $name => $params) {
            $dbs[$name] = DriverManager::getConnection(array_replace($default, $params));
        }
        return $dbs;
    };
    $app['db'] = function ($app) {
        return $app['dbs'][$this->config['default']];
    };
    $app['db.em'] = function ($app) {
        return new EntityManager($app['db'], $app['db.metas'], $app['db.events']);
    };
    $app['db.metas'] = function ($app) {
        $manager = new MetadataManager($app['db'], $app['db.events']);
        $manager->setLoader(new AnnotationLoader());
        $manager->setCache($app['cache.phpfile']);
        return $manager;
    };
    $app['db.events'] = function ($app) {
        return new PrefixEventDispatcher('model.', $app['events']);
    };
    $app['db.debug_stack'] = function () {
        return new DebugStack();
    };
    Type::overrideType(Type::SIMPLE_ARRAY, '\\Pagekit\\Database\\Types\\SimpleArrayType');
    Type::overrideType(Type::JSON_ARRAY, '\\Pagekit\\Database\\Types\\JsonArrayType');
}, 'autoload' => ['Pagekit\\Database\\' => 'src'], 'config' => ['default' => 'mysql', 'connections' => ['mysql' => ['driver' => 'pdo_mysql', 'dbname' => '', 'host' => 'localhost', 'user' => 'root', 'password' => '', 'engine' => 'InnoDB', 'charset' => 'utf8', 'collate' => 'utf8_unicode_ci', 'prefix' => '', 'driverOptions' => [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8 COLLATE utf8_unicode_ci']]]]];