缓存模型元数据

Phalcon 构建了一些关于它正在使用的表的信息,因此可以验证插入到它们的数据,而无需手动实现所有内容。这些是模型的元数据。为了加快和防止 Phalcon 每次刷新页面时构建元数据,可以缓存它们。为此,你需要实现 metaData 服务才能使用:

$di->set('modelsMetadata', function() use ($config)
{
    // assuming that you have a $config var with
    // models.metadata.adapter field declared
    switch (strtolower($config->models->metadata->adapter)) {
        case 'apc':
            $metaData = new MetaDataApcAdapter([
                'lifetime' => $config->models->metadata->lifetime,
                'suffix' => $config->models->metadata->suffix,
            ]);
            break;
        case 'xcache':
            $metaData = new MetaDataXCacheAdapter([
                'lifetime' => $config->models->metadata->lifetime,
                'prefix' => $config->models->metadata->suffix,
            ]);
            break;
        case 'memory':
            $metaData = new MetaDataMemoryAdapter();
            break;
        default:
            throw new \Exception('Unimplemented models::metadata.adapter in config.ini');
    }

    return $metaData;
});

Phalcons 专用页面提供更多文档。