在类中使用PHP ob_start回调函数时遇到问题

时间:2016-06-05 03:40:01

标签: php

我在类中使用ob_start回调函数时遇到一些麻烦。在网上搜索时,我发现了如何做到这一点!所以我得到了它的语法,但我遇到了一个新问题,我无法在google上找到解决方案。

所以我有一个标题类, 头类中与此问题相关的方法如下:

nameBlock()
callback($buffer)
startHeaders()

在startHeaders()方法的开头我调用了ob_start()..

 ob_start(array($this, 'callback'));

以下是它正在调用的回调方法:

function callback($buffer){
    $buffer = str_replace("<!!>nameBlock<!!>", $this->nameBlock(), $buffer);
    return $buffer;
}

由于我不知道的原因,它没有看到“$ this-&gt;”的方法。

2 个答案:

答案 0 :(得分:-1)

您可以尝试这样做。

ob_start(function($buffer) use ($this) {
    // code here....
});

http://php.net/manual/en/function.ob-start.php第一个参数应该是可调用的,而不是数组。

答案 1 :(得分:-1)

(代表OP发布)

我在输入问题时想出了问题。

方法:

nameBlock()

打印出内容

print "X";

应该什么时候回来。

return "X";