PHP Warning: ‘Creating default object from empty value’

这个报错,一般是在使用对象时,没有进行非空的判断,PHP会创建一个默认对象,同时抛出这个警告信息,当然你可以关掉警告(调低错误报告级别),或者在使用对象之前保证对象初始化,以Yii为例。
报错示例代码:

$user = User::findOne(10); // 此时对象有可能为空
$user->username = 'xiaoming';

在使用对象前确认非空,如果是空就初始化一下:

$user = User::findOne(10);
if($user == null) {
    $user = new User();
    $user->password = md5('123456');
}
$user->username = 'xiaoming';

或者关闭E_WARNING级别错误报告:

error_reporting(E_ALL ^ E_WARNING);

发表评论

电子邮件地址不会被公开。 必填项已用*标注