我有一个类,其中包含一个非静态方法function Tire(){}
,如此
class Car{
function Tire(){}
static function __callStatic($func, $arg){
if(method_exists(__CLASS__, $func)){
return self::$func();
}
}
}
我试图将其静态称为
Car::Tire()
但是,我得到了这个错误。
Strict Standards: Non-static method Car::Tire() should not be called statically
答案 0 :(得分:0)
写return self::$func();
实际上静态运行$func
并返回结果。您无法静态运行非静态函数 - 因此,错误消息。
您无法从静态上下文调用非静态函数。静态上下文没有任何操作对象。如果您甚至可以调用该非静态函数,如果该对象不存在,它将如何运作?