全,
我正在使用PHPLint评估我正在编写的PHP脚本,它返回以下错误:
“错误:属性` `SimpleXMLElement::$error‘不存在或不可见”。
参考代码如下所示:
$this->_xmlResponse = new SimpleXMLElement($resultString);
if (($this->_xmlResponse !== NULL) && ($this->_xmlResponse->error))
_xmlResponse是一个类变量,声明如下:
private /*. SimpleXMLElement .*/ $_xmlResponse = NULL;
XML类的工作方式是使用->运算符按名称引用SimpleXMLElement元素。所以我引用的是SimpleXMLElement对象中的"error“元素。
我也收到了类似这样的错误:
错误:‘->’运算符应用于mixed类型的值
当像这样访问元素时:
print ' by ' . htmlentities($status->user->screen_name) . '</h6>';
代码运行良好,但PHPLint仍然会给出错误。我浏览了PHPLint参考手册,但我不知道PHPLint是否无法解析SimpleXMLElement,或者这是否真的是一个潜在的问题。有人能解释这个PHPLint错误吗?也许我需要做一些类型转换?
发布于 2011-06-17 01:27:56
您提出了两个不同的问题。首先,SimpleXMLElement (从PHP5.3.6开始)没有error属性。请参阅文档here。如果您阅读了构造函数文档,就会发现检测错误的正确方法是捕获构造函数抛出的异常。第二个错误很可能是PHPLint使用的带有@mixed PHPDocumentor注释的用户(或$status ->$status)。将注释更改为@object应该可以解决您的问题。
https://stackoverflow.com/questions/6375892
复制相似问题