小编Ste*_*han的帖子

将preg_replace_callback与外部类一起使用

我有一个问题问你!

通常,如果在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)

php oop preg-replace-callback

2
推荐指数
1
解决办法
3177
查看次数

标签 统计

oop ×1

php ×1

preg-replace-callback ×1