“致命错误:在不在对象上下文中时使用$ this”但在对象上下文中使用代码IS

时间:2011-01-18 12:25:51

标签: php oop

我得到了旧的熟悉的“致命错误:在不在对象上下文中时使用$ this”引用了以下类中的$this->test = 'test';

class Example {
    public $test;
    public function index() {
        $this->test = 'test';
    }
}

通过call_user_func_array(array('example', 'index'), $params);调用类方法。我只能假设call_user_func_array由于某种原因决定将索引方法称为静态,例如example::index()?不过我还没有找到解决方法,奇怪的是我直到最近才遇到问题。

1 个答案:

答案 0 :(得分:5)

这有效:

$obj = new Example();
call_user_func_array(array($obj, 'index'), $params);

您的代码基本上可以:

Example::index($params);

静态调用index,您正确认为。