PHPLint错误:属性`SimpleXMLElement :: $ error'不存在或不可见

时间:2011-06-16 17:13:39

标签: php simplexml lint

所有

我正在使用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错误吗?也许我需要做一些类型的演员?

1 个答案:

答案 0 :(得分:0)

你提出了两个不同的问题。首先,SimpleXMLElement(从PHP 5.3.6开始)没有错误属性。请参阅文档here。如果您阅读构造函数文档,您将看到检测错误的正确方法是捕获构造函数抛出的异常。第二个错误很可能发生在$ status(或$ status-&gt; user)上,其上有一个@mixed PHPDocumentor注释,由PHPLint使用。将注释更改为@object应解决您的问题。