PHP致命错误:在null上调用成员函数getId() -它应该是null(有时),如何正确处理



有时预期的结果应该是null,其他时候它不是(如果它不是null,我希望代码函数x解析。如果不是null,代码y解析)..不知道如何正确处理:

$myID = is_object($widget->getParent()->getId()) ? $widget->getParent()->getId() : '';
if (isset($myID)){
//....code here
结果:

PHP Fatal error:  Call to a member function getId() on null in htdocsprogramwidgetControllerWidgetController.php on line 212

第212行:

$myID = is_object($widget->getParent()->getId()) ? $widget->getParent()->getId() : '';

我也试过各种各样的:is_object()is_array()null ==null !==

听起来像$widget->getParent()是返回null也许存储并检查它首先?我猜getParent()可能会在根元素上返回null。

$myParent = widget->getParent();
if($myParent){
  $myID = is_object($myParent->getId()) ? $myParent->getId() : '';
  if (isset($myID)){
       //....code here
  }
} else {
  // Error handling
}

最新更新