开发者

"Fatal error: Using $this when not in object context" but code IS in object context

I'm getting the old familiar "Fatal error: Using $this when not in object context" referring to $this->test = 'test'; in the following class:

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

The class method is called via call_user_func_array(array('example', 'index'), $params);. I can only assume that call_user_func_array has for some reason decid开发者_运维百科ed to call the index method as static e.g. example::index()? However I haven't figured out a fix for this and oddly I've not had a problem with it until recently.


This works:

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

Your code basically does:

Example::index($params);

which calls index statically, which you correctly assumed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜