Я пытаюсь написать простой установочный скрипт с использованием Zend Framework. Предполагается, что он проведет несколько тестов:
user
в базе данных . Если какой-либо из шагов не удастся, контроллер позаботится о перенаправлении пользователя на соответствующий этап процесса установки.
Я создал модель со следующим кодом:
public function verify () {
$db = $this->getDefaultAdapter(); //throws exception
if ($db == null) return self::NO_BATABASE;
$result = $db->describeTable('user'); //throws exception
if (empty($result)) return self::NO_USER;
$result = $db->fetchRow('SELECT * FROM user WHERE id = 1');
if ($result == null) return self::USER_EMPTY;
else return self::OK;
}
Однако я переоценил функции, которые использовал. getDefaultAdapter ()
может вернуть null
, но в случае отсутствия базы данных для подключения создается исключение. То же самое происходит с describeTable ()
, который вызывает исключение вместо возврата пустого массива.
У меня возникает вопрос: как мне проверить, существует ли база данных / таблица, не получив исключения или ошибки?