Каковы различия между ADOdb и PDO в PHP?
Кажется, что оба пытаются упростить использование базы данных на PHP. Кажется, что оба предоставляют абстракцию для различных типов баз данных, таких как MySQL, SQLite и т. Д.
Каковы различия между ADOdb и PDO?
4 ответа
PDO является стандартным в PHP начиная с версии 5.1. (Он также доступен с расширением PECL в PHP 5.0). На большинстве хостингов он включен. AdoDB не является стандартным расширением.
Кроме того, я считаю, что драйверы PDO "родные" для PHP: они построены на основе тех же библиотек, на которых был построен сам PHP, и используют те же базовые процедуры для таких вещей, как управление памятью. Так что потенциально, PDO более легкий, чем AdoDB.
В соответствии с этим тестом AdoDB значительно медленнее, чем PDO: (фиксированная ссылка) http://tonylandis.com/performance/php-adodb-pdo-mysql-database-apc-benchmark/
Конечно, вы должны подумать, достаточно ли это важно для вашего варианта использования, предпочитать PDO или нет.
Ну, я думаю, что все сводится к предпочтениям. ADOdb больше ориентирован на людей, которые привыкли к стилю доступа к базам данных (ADO) в Microsoft, а PDO больше похож на PHP, а также является частью основного потока PHP по сравнению с ADOdb, который в некотором роде уходит в сторону.
В конце концов, это будет зависеть от того, какая у вас целевая БД (ADOdb поддерживает больше) и какой стиль языка вы предпочитаете. Лично мне нравится PDO, и это соответствует моим потребностям.
С технической точки зрения, наиболее заметным отличием будет то, что PDO является собственным расширением и, начиная с PHP 5, всегда включается в PHP в его быстрой компилируемой форме. Также есть расширение для ADODb, но сначала нужно установить его на PHP. Это сильный аргумент в пользу PDO, потому что продукты на его основе, вероятно, будут работать быстрее в большем количестве сред.
ADOdb поддерживает большее количество баз данных, чем PDO.
PDO родной и довольно быстрый.
ADOdb является более богатой библиотекой и даже имеет такие вещи, как ORM (Object Relational Mapping).
Для меня большой недостаток PDO - это ужасно отлаживать, когда он идет не так, как надо, поскольку для него нет источника PHP. Когда я отлаживал какой-то сложный код, единственный способ увидеть точный SQL, который выполнялся, - это подкласс самого драйвера PDO...
Это все мнение, хотя, конечно!