动态调用非静态方法

时间:2015-10-18 17:30:02

标签: php static callback

我试着像这样调用非静态方法:

call_user_func_array(array("Notifications", "getNots"), $params)

我得到了错误: call_user_func()期望参数1是有效的回调,非静态方法......

功能是:

class Notifications {
    public function getNots($limit, $test = 0) {
    }
}

该怎么办?

实际上我试图建立得到html页面的html代码的函数 并替换所有类似的文本:

{{ Notifications.getNotes(3) }}

方法返回...

tnx很多

1 个答案:

答案 0 :(得分:1)

要使用非静态函数执行此操作,您需要实例化Notification对象(如果不完成,则将其作为callback数组中的第一个值传递给call_user_func_array()。这样的事情:

$notifications = new Notification();
call_user_func_array(array($notifications, "getNots"), $params);

如果已经实例化,则传递实例,而不是类名。