2009-12-21 44 views

Respuesta

13

PDO es estándar en PHP a partir de la versión 5.1. (También está disponible con una extensión PECL en PHP 5.0) La mayoría de los servidores de alojamiento lo tendrán habilitado. AdoDB no es una extensión estándar.

Además, creo que los controladores PDO son "nativos de PHP": están construidos sobre las mismas librerías sobre las que PHP fue construido, y usan las mismas rutinas subyacentes para cosas como administración de memoria. Tan potencialmente, PDO es más ligero que AdoDB.

De acuerdo con este punto de referencia, Adodb es considerablemente más lento que DOP: (enlace fijo) http://tonylandis.com/performance/php-adodb-pdo-mysql-database-apc-benchmark/

Por supuesto, usted debe considerar si este es lo suficientemente importante para su caso de uso a preferir DOP o no.

4

Bueno, creo que se reduce a la preferencia. ADOdb está más orientado a las personas que están acostumbradas al estilo Microsoft de acceso a la base de datos (ADO) y PDO es más parecido a "PHP" y también parte de la corriente principal de PHP frente a ADOdb, que se sienta a un lado.

Al final del día, se basaría en cuál es su DB objetivo (ADOdb admite más) y qué tipo de estilo de idioma prefiere. Personalmente, me gusta PDO y se adapta a mis necesidades.

4

Desde un punto de vista técnico, la diferencia más notable sería que PDO es una extensión nativa y, desde PHP 5 en adelante, siempre se incluye en PHP en su forma rápida y compilada. También hay una extensión para ADODb, pero primero debes instalarla en PHP. Este es un fuerte argumento a favor de PDO porque es probable que los productos basados ​​en él corran más rápido en más entornos.

ADOdb admite una mayor cantidad de bases de datos que PDO.

+0

Buen punto re. soporte de base de datos más amplio. Por otra parte, quizás podría usar PDO_ODBC para los más exóticos, aunque puedo imaginar que sea notablemente más lento que los controladores PDO nativos de PHP. –

4

PDO es nativo y bastante rápido.

ADOdb es una biblioteca más rica e incluso tiene cosas como ORM (asignación relacional de objetos).

Para mí, la gran desventaja de PDO es que es horrible depurar cuando sale mal ya que no hay una fuente PHP para ello. Cuando estaba depurando algún código complicado, la única forma en que podía ver el SQL exacto que se estaba ejecutando era la subclase del controlador PDO en sí ...

¡Es toda opinión, por supuesto!

Cuestiones relacionadas