PHPint错误:属性`SimpleXMLElement::$ERROR';不存在或不可见


PHPLint ERROR: property `SimpleXMLElement::$error' does not exist or not visible

全部,

我正在使用PHPint来评估我正在编写的PHP脚本,它返回以下错误:

"错误:属性`SimpleXMLElement::$ERROR'不存在或不可见"。

引用的代码如下所示:

$this->_xmlResponse = new SimpleXMLElement($resultString);

if (($this->_xmlResponse !== NULL) && ($this->_xmlResponse->error))

xmlResponse是一个类变量,声明如下:

private /*. SimpleXMLElement .*/ $_xmlResponse = NULL;

SimpleXMLElement类的工作方式是使用->运算符按名称引用XML元素。所以我指的是SimpleXMLElement对象中的"error"元素。

我也收到了这样的错误:

错误:"->"运算符应用于混合类型的值

当访问这样的元素时:

print ' by ' . htmlentities($status->user->screen_name) . '</h6>';

代码运行良好,但PHPLint仍然会出现错误。我查阅了PHPLint参考手册,但我不知道PHPLint是否无法解析SimpleXMLElement,或者这是否真的是一个潜在的问题。有人能解释这个PHPLint错误吗?也许我需要做一些类型的选角?

您提出了两个独立的问题。首先,SimpleXMLElement(从PHP 5.3.6开始)没有错误属性。请参阅此处的文档。如果你阅读了构造函数文档,你会发现检测错误的正确方法是捕获构造函数抛出的异常。第二个错误很可能是由于$status(或$status->user)上有一个PHPLint使用的@mixed PHPDocumentor注释。将注释更改为@object应该可以解决您的问题。