繁体   English   中英

PHP对静态类成员的错误访问

[英]PHP incorrect access to static class member

我有一个具有静态类的Mock实例作为成员变量的类,当我尝试引用静态方法时,我对静态类成员的访问不正确:

class Foo {
    private my_static_class;

    public testmethod() {
        $this->my_static_class = mock_of_static_class;
        $this->my_static_class::static_method(); // Incorrect access to static class member 
    }
}

用->代替::似乎也解决不了,我最终得到

Call to a member function static_method() on a non-object

编辑:我正在使用的框架返回模拟实例作为字符串

如果仅将模拟类作为字符串获取,请创建其实例。

$this->my_static_class = new $mock_of_static_class_as_string();

如果只想调用静态方法,请使用call_user_func()

call_user_func(array($mock_of_static_class_as_string, 'static_method'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM