首页 > php 在缓冲区引入文件的目的

php 在缓冲区引入文件的目的

ob_start();
require_once JPATH_CONFIGURATION . '/configuration.php';
ob_end_clean();

上述代码的意义在哪里?


拿控制器中使用render函数载入视图来说:

<?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;

可以阻止输出

你想象一下这个configuration.php里面有一行echo,因为开了缓冲区,它会写入缓冲区而不是客户端浏览器
然后执行完require之后,终止缓冲区并清除缓冲区内容,然后也就不会有任何输出出来了

【热门文章】
【热门文章】