所有
我正在使用PHPLint来评估我正在编写的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错误吗?也许我需要做一些类型的演员?
答案 0 :(得分:0)
你提出了两个不同的问题。首先,SimpleXMLElement(从PHP 5.3.6开始)没有错误属性。请参阅文档here。如果您阅读构造函数文档,您将看到检测错误的正确方法是捕获构造函数抛出的异常。第二个错误很可能发生在$ status(或$ status-&gt; user)上,其上有一个@mixed PHPDocumentor注释,由PHPLint使用。将注释更改为@object应解决您的问题。