全部,
我正在使用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应该可以解决您的问题。