【发布时间】:2014-07-06 07:30:02
【问题描述】:
我已经用 php 编程很多很多年了,并且在我的几个类和类方法中使用了输出缓冲。最近,在写一个模板类的时候,我的思绪开始漫游。以下是我的想法:
这只是一个例子。
class someClass {
protected $contents;
public function __construct() {
ob_start();
// execute some code here.
}
private function someMethod() {
// execute some code here.
$this->contents = ob_get_contents();
}
public function someOtherMethod() {
ob_end_clean();
echo $this->contents;
}
}
考虑上面的示例代码。
问题
- 可以这样使用输出缓冲吗?
- 使用输出缓冲可以防止在发送标头之前写入代码,但是如果有的话,还有什么其他好处呢?
- 如果可行,是否可行?
【问题讨论】:
-
你试过了吗?为什么它不起作用?
-
老实说,我还没有尝试过。当我已经编写了几个小时并试图保持专注时,我往往很容易分心......我只是想我会在这里问我的问题,这样我就可以继续我目前的任务。看起来它会起作用并且是合乎逻辑的,但它是否实用?测试这个可能要等到我完成我当前的项目。
-
嗯,这是一个愚蠢的理由在这里问一个问题。请仅在您自己找不到答案时提出问题。
-
它会起作用,ob_start() 是一个函数,并且在方法中调用的函数没有范围问题。它将像在其他任何地方一样打开输出缓冲。
标签: php