你能把一个PHP文件渲染成一个变量吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (124)

如果我有这样的hello.php文件:

Hello, <?php echo $foo; ?>!

我想在一些php代码中做这样的事情:

$text = renderPhpToString('hello.php', array('foo'=>'World'));

并最终结束

$text == 'Hello, World!'

这是可能的标准PHP 5?显然,我想要更复杂的模板与循环等等..

提问于
用户回答回答于

你可以使用这样的功能:

function renderPhpToString($file, $vars=null)
{
    if (is_array($vars) && !empty($vars)) {
        extract($vars);
    }
    ob_start();
    include $file;
    return ob_get_clean();
}

它使用输出缓冲区控制功能ob_start()来缓存下列输出,直到它被返回ob_get_clean()

扫码关注云+社区

领取腾讯云代金券