我想在静态方法中调用非静态方法。例如
而不是调用以下方法
$user = new User();
$userdata = $user->data($argument);
我想打电话如下
$usedata = User::data($argument);
首先,我使用以下设置构建
Class User{
public static function __callStatic($methodname, $argument) {
$objName = __CLASS__;
$obj = new $objName;
return $obj->find($argument);
}
public function find($argument) {
return $argument*2;
}
}
echo User::find(2);
但它显示警告消息但代码已成功执行。这种情况还有其他更好的解决方案吗?很抱歉我犯的任何语法错误,因为我不是母语人士,而且我的英语不是很流利。