2012-01-09 4 views
6

My question is fairly clear, y Realmente me gustaría escuchar algunas razones para la respuesta.¿Haría una PDO o la extendería?

Información adicional:

  • que no utilizan ningún tipo de PHP Framework.
  • PHP> 5.3.

Actualización:

En este momento no tengo la mayor parte de las restricciones de todo mi proyecto, que es un proyecto de un solo hombre todavía y he trabajado duro para hacer todo tan lose acoplada y modular posible. como me dijeron, no me gustó la API de PDO después de jugar con ella por un tiempo, pero eso no es un gran problema si me apego a su API pública me dará más flexibilidad o se considera una buena práctica.

Así que mi pregunta es, ¿qué ganarías y perderías al usar Composición o Herencias considerando que el objeto en cuestión es una capa de Abstracción en sí misma, PDO en este caso?

tl; dr: Uno de los proyectos hombre tratando de ser modular como sea posible, Composición o herencia para el uso de una tercera parte capa de abstracción (DOP específicamente)?

Nota: si no es el lugar correcto, vote para migrar a Programadores. y perdón por mi mal inglés

+0

@Downvoter: ¿Me gustaría elaborar? –

+3

Esto invita a una buena discusión (que es por lo que está viendo los votos hacia abajo, y estamos viendo banderas). Si pudieras revisar esto para incluir tu juego final en este escenario ... las respuestas podrían ser mucho más objetivas y probablemente estarían en tema en Programmers SE. Recuerde, Stack Overflow es para los problemas reales a los que se enfrenta, por lo que se necesita un escenario más concreto en ambos casos (si es teórico, los programadores serían el mejor lugar). –

+0

@TimPost Gracias por aclarar las cosas, actualicé mi pregunta. –

Respuesta

5

Soy un fanático de envolver para las clases de "terceros" ya que de esa manera es mucho menos dependiente del soporte para la clase. Si alguien más tarde cambiara los nombres de las funciones en PDO, su código cambiaría alrededor de todo su código. Con el ajuste solo la clase de ajuste cambiaría ya que su interfaz es independiente.

3

En general, no me molestaría en ajustarlo a menos que no te guste la API. Si decides ir por esta ruta, usaría Idiorm (y posible Paris para el registro activo) en lugar de hacer mi propio recorrido.

Nunca pensaría en extender una extensión de terceros a menos que planificara mantener su código también o nunca actualizar esa biblioteca. Envolviendo su contenido, arene la biblioteca de terceros lejos de su código tanto como sea posible para que se vea menos afectado por los cambios en su código.