0

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

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

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

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

但身体在另一个文件中。在这个文件中,我会调用:

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

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

4

2 回答 2

0

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

我不能在头部之前回显页面主体,但我必须在头部之前调用 body 来收集可能的变量变化。所以我把 body 的内容放到了一个缓冲区中:

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

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

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

很简单。

于 2013-11-01T19:55:06.213 回答
0

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

于 2013-11-01T19:42:46.177 回答