[英]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.