从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_STRICT
PHP 5.4之前的标准或E_WARNING
PHP> =
5.4中的常规错误级别,假设您尝试创建一个通用对象并分配该属性success
,则需要在全局名称空间中声明$res
为的对象stdClass
:
$res = new \stdClass();$res->success = false;
以上是 从PHP中的空值创建默认对象? 的全部内容, 来源链接: utcz.com/qa/421940.html