我有一个问题问你!
通常,如果在OOP上下文中调用回调函数,则必须使用 array(&$this, 'callback_function')
这就是我想到的.
但是现在我想在外部类中调用一个回调,因为有很多callback_functions.出于结构原因,我想给他们一个自己的课.
我想:"好吧,制作一个这个类的实例并传递它而不是$ this."
所以,我尝试过array($cb, 'callback_function')和array($this->cb, 'callback_function'),但它不会工作.
我究竟做错了什么?
谢谢你的帮助!
编辑:
我的基础班有:
function __construct()
{
// some other vars here
$this->cb = new Callback();
}
Run Code Online (Sandbox Code Playgroud)
并称之为:
$newline = preg_replace_callback("/(^#+) (.*)/", array(&$this->cb, 'callback_heading'), $newline);
Run Code Online (Sandbox Code Playgroud)
在我的回调课程中,我有:
class Callback
{
function __construct()
{
$this->list = array("num" => 0, "dot" => 0, "normal" => 0);
$this->td = array("strike" => false, "bold" => false, "italic" => false, "underline" => false, "code" => false);
}
public function callback_heading($parameter)
{ …Run Code Online (Sandbox Code Playgroud)