我在一个名为的类中有以下方法Connection
:
public function output($query = null) {
if (!empty($this->attributes["link"])) {
print "OK!";
} else {
print "NO!";
}
}
的值$this->attributes["link"]
来自构造函数中的以下操作:
try {
$this->attributes["link"] = new \PDO(<...>);
catch (\PDOException $e) {
<...>
} finally {
return $this;
}
我通常使用该if (!empty(<...>)) { <...> }
构造来测试变量是否存在,并且到目前为止,它在每个结构或代码段中都按预期工作,除了这个。
作为一个对象似乎不是它不起作用的原因,因为我可以针对数据库管理器对象测试相同的检查,并且它可以工作。也许 PDO 对象是一种特殊的对象,不容易进行变量测试,或者我缺少什么?
编辑- 我的软件配置如下:Linux 3.11.1、Apache 2.4.6、PHP 5.5.4 和 MySQL 5.6.13