Есть ли у нас аналогичные методы в PHP PDO?
Не совсем, нет.
В зависимости от того, как вы настроили PDO, обработка ошибок , вы либо получите false
назад от вещей, которые возвращают ошибки, либо получите исключение.Если вы отключили обработку исключений, вы можете проверить PDO::errorCode
после того, как получите false
, когда ожидаете чего-то другого.Это может очень быстро запутаться.Исключения являются наилучшей практикой.
Метод PEAR PEAR::isError()
появился в PHP4, когда в PHP не было исключений.В лучшем случае это уродливый обходной путь.
Что касается завода, то здесь нет необходимости.MDB2 был разработан с использованием фабрики, поскольку каждый из типов баз данных, с которыми он может общаться, на самом деле является отдельным классом.С помощью PDO вы определяете тип базы данных как часть конструктора и всегда получаете объект PDO, а не подкласс.