php运行报错:Using $this when not in object context
php运行报错:Using $this when not in object context
以下是我的代码:
错误代码实例:
public static function getInfo() { // ... 省略部分代码 $info = $this->getUser(); return $info; } public function getUser() { return [ 'userName': => '小明', 'age' => 17 ]; }
原因分析:
getInfo是静态函数,$this无法使用,应该把getUser函数变成静态函数,或者把 getInfo 函数变成非静态函数
解决:
1. getUser 函数变成静态函数,$this使用self代替
public static function getInfo() { // ... 省略部分代码 $info = self::getUser(); return $info; } public static function getUser() { return [ 'userName': => '小明', 'age' => 17 ]; }
2. 把 getInfo 函数变成非静态函数
public function getInfo() { // ... 省略部分代码 $info = $this->getUser(); return $info; } public function getUser() { return [ 'userName': => '小明', 'age' => 17 ]; }