Home  >  Article  >  php教程  >  Zend Framework cache Cache usage simple example

Zend Framework cache Cache usage simple example

高洛峰
高洛峰Original
2017-01-05 10:56:081236browse

The example in this article describes the usage of Zend Framework cache Cache. Share it with everyone for your reference, the details are as follows:

<?php
require &#39;Zend/Loader.php&#39;;
Zend_Loader::loadClass(&#39;Zend_Cache&#39;);
Zend_Loader::loadClass(&#39;Zend_Config&#39;);
Zend_Loader::loadClass(&#39;Zend_Registry&#39;);
$config = new Zend_Config_Ini(&#39;configsecr/config.ini&#39;);
define(&#39;CACHE_DIR&#39;,FDROOT.&#39;/&#39;.&#39;tmp/&#39;);
/*
配置文件config.ini:
[cache]
cache.needcache=1
cache.frontend.name=Core
cache.frontend.lifetime=7200
cache.frontend.automatic_serialization=1
cache.backend.name=File
*/
/*选项参考手册*/
/*建立cache对象*/
$frontendOptions = $config->cache->cache->frontend->toArray();
$backendOptions = $config->cache->cache->backend->toArray();
$frontendName = $frontendOptions[&#39;name&#39;];
unset($frontendOptions[&#39;name&#39;]);
$backendName = $backendOptions[&#39;name&#39;];
unset($backendOptions[&#39;name&#39;]);
if (empty($backendOptions[&#39;cache_dir&#39;]))
{
 $backendOptions[&#39;cache_dir&#39;] = CACHE_DIR;
}
$_cache = Zend_Cache::factory($frontendName, $backendName, $frontendOptions, $backendOptions);
Zend_Registry::set(&#39;cache&#39;, $_cache);
/*使用cache*/
$viewRenderer = $_cache->load(&#39;viewRenderer&#39;); //试图从缓存加载变量
if (!$viewRenderer instanceof Something)//加载不成功
{
 $viewRenderer = new Something();
 /*some other work*/
 $_cache->save($viewRenderer, &#39;viewRenderer&#39;);//保存变量到换存
}
/*这只是一种应用,还可以轻松缓存整页;也可将缓存存到数据库或者内存。*/
?>

I hope this article will be helpful to everyone’s PHP programming based on the Zend Framework framework.

For more articles related to simple examples of Zend Framework cache Cache usage, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn