Это ошибка и фабричный метод в PDO? - PullRequest
0 голосов
/ 15 февраля 2012

Есть ли у нас аналогичные методы в PHP PDO ???

У нас есть isError() и заводские методы в Pear mdb2.

PEAR::isError($result)
MDB2::factory

Есть ли у нас аналогичные методы в PHP PDO тоже?

1 Ответ

0 голосов
/ 12 марта 2012

Есть ли у нас аналогичные методы в PHP PDO?

Не совсем, нет.

В зависимости от того, как вы настроили PDO, обработка ошибок , вы либо получите false назад от вещей, которые возвращают ошибки, либо получите исключение.Если вы отключили обработку исключений, вы можете проверить PDO::errorCode после того, как получите false, когда ожидаете чего-то другого.Это может очень быстро запутаться.Исключения являются наилучшей практикой.

Метод PEAR PEAR::isError() появился в PHP4, когда в PHP не было исключений.В лучшем случае это уродливый обходной путь.

Что касается завода, то здесь нет необходимости.MDB2 был разработан с использованием фабрики, поскольку каждый из типов баз данных, с которыми он может общаться, на самом деле является отдельным классом.С помощью PDO вы определяете тип базы данных как часть конструктора и всегда получаете объект PDO, а не подкласс.

...