PHP - 更改缓冲区中变量的值

时间:2013-11-01 19:40:56

标签: php buffer

我想更改之前调用的变量值,但应该在之后更改。就像在这个exapmle中一样:

<img src="<?php echo $src; ?>" />
$src = 'some_src.jpg';

也许有某种缓冲或什么?应该这样做,因为我正在尝试制作一种模板引擎:

$this->showHeader();
$this->showBody();

但身体在另一个文件中。在这个文件中我会打电话:

$this->header->setScript('somescript.js');

这应该改变标题中的变量。但我不能在showHeader()之前调用showBody()函数。对不起我的英语不好。 :(

2 个答案:

答案 0 :(得分:0)

调用后无法声明变量。您将希望以不同的方式编写此内容,例如在回显之前添加函数属性或正确设置它的某种方法。

答案 1 :(得分:0)

我找到了这样做的方法。缓冲是完成任务的方法。

我无法在头部之前回显页面的主体,但我不得不在头部之前调用身体以收集可能的变量。所以我把身体的内容放到缓冲区:

ob_start();
$this->showBody();
$content = ob_get_clean();

现在我收集了变量值,我可以使用它们:

$this->showHeader();
echo $content;

非常简单。