只有在将PHP环境升级到PHP 5.4或更高版本后,我才看到这个错误。错误指向这行代码:
错误:
从空值创建默认对象
代码:
$res->success = false;
我首先需要声明我的$res对象吗?
只有在将PHP环境升级到PHP 5.4或更高版本后,我才看到这个错误。错误指向这行代码:
错误:
从空值创建默认对象
代码:
$res->success = false;
我首先需要声明我的$res对象吗?
当前回答
尝试使用:
$user = (object) null;
其他回答
试试这个:
ini_set('error_reporting', E_STRICT);
我也有类似的问题,这似乎解决了问题。你只需要将$res对象初始化为一个类。假设这里的类名是test。
class test
{
//You can keep the class empty or declare your success variable here
}
$res = new test();
$res->success = false;
不,你不需要。当您将成功值添加到对象时,它将创建它。如果没有指定默认类,则继承默认类。
在PHP 7中,匿名对象可以这样创建:
$res = new class {
public $success = false;
};
https://www.php.net/manual/en/language.oop5.anonymous.php http://sandbox.onlinephpfunctions.com/code/ab774707a8219c0f35bdba49cc84228b580b52ee
此问题是由于您正在分配一个未初始化的对象实例而引起的。如:
你的情况:
$user->email = 'exy@gmail.com';
解决方案:
$user = new User;
$user->email = 'exy@gmail.com';