search

Home  >  Q&A  >  body text

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

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

上述代码的意义在哪里?

PHP中文网PHP中文网2818 days ago559

reply all(2)I'll reply

  • 阿神

    阿神2017-04-10 16:12:00

    拿控制器中使用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;

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 16:12:00

    可以阻止输出

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

    reply
    0
  • Cancelreply