<code>ob_start(); require_once JPATH_CONFIGURATION . '/configuration.php'; ob_end_clean();</code>
上述代码的意义在哪里?
<code>ob_start(); require_once JPATH_CONFIGURATION . '/configuration.php'; ob_end_clean();</code>
上述代码的意义在哪里?
拿控制器中使用render函数载入视图来说:
<code><?php function render($template, array $data = array()) { global $app; ob_start(); require APP_ROOT.'themes/'.$app['theme'].'/'.$template; $view = ob_get_contents(); ob_end_clean(); return $view; } $view = render('post.php'); // 后续可以对视图内容进行一些操作,比如生成静态文件,或者替换一些内容,然后输出: echo $view;</code></code>
可以阻止输出
你想象一下这个configuration.php里面有一行echo,因为开了缓冲区,它会写入缓冲区而不是客户端浏览器
然后执行完require之后,终止缓冲区并清除缓冲区内容,然后也就不会有任何输出出来了