background image

的目录。
Cache_Function 类的构造器可以有三个可选的参数:
$container :缓冲容器的名字。
$container_options :缓冲容器的数组参数。
$expires:缓冲对象过期的时间(秒数)。
普通的函数调用采用

 Cache_Function 类的 call() 方法时,就能触发缓冲。调用 call() 很容易,

的一个参数是函数的名字,然后是函数的参数,第二个参数是要调用函数中的第一个,依
此类推,我们来看例子:

1 缓冲函数和方法的调用

// 调用 PEAR Cache 的函数缓冲。
require_once 'Cache/Function.php';
// 定义一些类和函数。
class foo {
function bar($test) {
echo "foo::bar($test)
";
}
}
class bar {
function foobar($object) {
echo '$'.$object.'->foobar('.$object.')
';
}
}
$bar = new bar;
function foobar() {
echo 'foobar()';
}
// 取得 Cache_Function 对象
$cache = new Cache_Function();
// 对 foo 类的静态函数 bar() 作缓冲(foo::bar())。
$cache->call('foo::bar', 'test');
// $bar->foobar()
$cache->call('bar->foobar', 'bar');
$cache->call('foobar');
?>

 面我们采用 Cache_Output 来把输出作缓冲:

2 缓冲脚本的输出

// 加载 PEAR Cache 的输出缓冲
require_once 'Cache/Output.php';
$cache = new Cache_Output('file', array('cache_dir' => '.') );
// 计算要缓冲页面的标记,我们假定页面的缓冲取决于
// URL, HTTP GET 和 POST 变量以及 cookies。
$cache_id = $cache->generateID(