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

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

上述代码的意义在哪里?

阅读 3.2k
2 个回答

拿控制器中使用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之后,终止缓冲区并清除缓冲区内容,然后也就不会有任何输出出来了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题