ob_start 函数用于打开输出缓冲区,由于输出缓冲区不缓存header、setcookie、session_start的输出内容,所以你的担心是不必要的。当然执行ob_start之前的输出内容也不在缓冲区内ob_start 可以有一个回调函数作为参数,用于指示当缓冲区关闭时的操作
至于把回调函数写成形如array( &$this, 'cache_callback')这样。是因为回调函数是类的方法,这是php约定的写法。不存在“为什么”的问题!
至于把回调函数写成形如array( &$this, 'cache_callback')这样。是因为回调函数是类的方法,这是php约定的写法。不存在“为什么”的问题!
header.php (使用了ob_start)
index.php (开始引用了header.php,结束引用了footer.php)
footer.php (使用了ob_end_flush)而每个程序都使用单独的模板。1、我在index.php中使用的use_cache,是否会同时缓存footer.php的内容?还是仅仅对当前程序中的对象$tpl进行缓存?2、按照以前唠叨所教的分块缓存方法,多个缓存块会进行多次ob_start( array( &$this, 'cache_callback' ) );,它们是否都是在程序结束时进行统一的回调?