从PHP中的空值创建默认对象?

仅在将我的PHP环境升级到PHP 5.4及更高版本后,我才看到此错误。错误指向以下代码行:

错误:

从空值创建默认对象

码:

$res->success = false;

我首先需要声明我的$res对象吗?

回答:

您的新环境可能已为<=

5.3.x的PHP版本启用了E_STRICT警告,或者仅在至少=>

5.4的PHP版本中设置了警告。当触发了错误的或者尚未初始化:error_reporting``error_reporting``E_WARNING``$res``NULL

$res = NULL;

$res->success = false; // Warning: Creating default object from empty value

如果$res已经初始化为某个值但不是对象,则PHP将报告不同的错误消息:

$res = 33;

$res->success = false; // Warning: Attempt to assign property of non-object

为了符合E_STRICTPHP 5.4之前的标准或E_WARNINGPHP> =

5.4中的常规错误级别,假设您尝试创建一个通用对象并分配该属性success,则需要在全局名称空间中声明$res为的对象stdClass

$res = new \stdClass();

$res->success = false;

以上是 从PHP中的空值创建默认对象? 的全部内容, 来源链接: utcz.com/qa/421940.html

回到顶部