я следующий метод внутри класса называется Connection
:! Empty() проверить не удается при проверке состояния ссылки PDO ... почему?
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 - это особый объект, не подверженный переменному тестированию, или есть что-то, что мне не хватает?
EDIT - Моя конфигурация программного обеспечения выглядит следующим образом: Linux 3.11.1, Apache 2.4.6, PHP 5.5.4 и MySQL 5.6.13
Никогда не использовал оператор 'instanceof' в PHP (есть некоторые вещи о ООП в PHP, которые я еще не изучил), так что ... удивительно! Моя проблема не решена сама по себе, но я очистил код, и теперь он еще эффективнее. Большое спасибо! :) –