Каковы различия между ADOdb и PDO в PHP? - PullRequest
11 голосов
/ 22 декабря 2009

Оба, кажется, пытаются упростить использование базы данных в PHP. Кажется, что оба предоставляют абстракцию для различных типов баз данных, таких как MySQL, SQLite и т. Д.

Каковы различия между ADOdb и PDO?

Ответы [ 4 ]

13 голосов
/ 22 декабря 2009

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 или нет.

4 голосов
/ 22 декабря 2009

PDO является родным и довольно быстрым.

ADOdb - более богатая библиотека, в которой есть такие вещи, как ORM (Object Relational Mapping).

Для меня большой недостаток PDO - это ужасно отлаживать, когда он идет не так, как надо, поскольку для него нет PHP-источника. Когда я отлаживал какой-то сложный код, единственный способ увидеть точный SQL-запрос - это подкласс самого драйвера PDO ...

Это все мнение, хотя, конечно!

4 голосов
/ 22 декабря 2009

С технической точки зрения наиболее заметным отличием будет то, что PDO является собственным расширением и, начиная с PHP 5, всегда включается в PHP в его быстрой компилируемой форме. Также есть расширение для ADODb, но сначала нужно установить его на PHP. Это сильный аргумент в пользу PDO, потому что продукты на его основе, вероятно, будут работать быстрее в большем количестве сред.

ADOdb поддерживает большее количество баз данных, чем PDO.

4 голосов
/ 22 декабря 2009

Ну, я думаю, это сводится к предпочтениям. ADOdb больше ориентирован на людей, которые привыкли к стилю доступа к базам данных (ADO) в Microsoft, а PDO больше похож на PHP, а также является частью основного потока PHP по сравнению с ADOdb, который как бы уходит в сторону.

В конце концов, это будет зависеть от того, какая у вас целевая БД (ADOdb поддерживает больше) и какой стиль языка вы предпочитаете. Лично мне нравится PDO, и это соответствует моим потребностям.

...