Adsense

miércoles, 8 de febrero de 2012

Como programar con base de datos en php

Una de las principales cosas que enseñan los libros de php es a trabajar PHP pero de una manera muy mala. Yo condeno trabajar directamente con las funciones para trabajar con una base de datos determinada.

La razón radica en que escribiremos estas mismas funciones en cada parte que manipulemos la base de datos. Esto posiblemente creará redundancia inútil, y también amarrará nuestro código a esa función determinada.

En un futuro php puede cambiar, y aquella función que empleaste anteriormente pasa a ser obsoleta. Tu sistema tendrá que pasar por un cambio en su totalidad para cambiar esta función.

Lo más aconsejable antes de trabajar directamente con mysql_query es que crees primero una clase, un web service o una abstracción a la base de datos que mantenga a tus aplicaciones completamente aparte de las funciones con las cuales se interactua con la base de datos.

Esto mantiene libre de matrimonios a conveniencia con un determinado manejador de BD, libertad de trabajar con el que tu desees, y con la librería que quieras.

Otras cosas que recomiendo:


  • Abrir y CERRAR cada conexión a la BD.


  • Manejar Excepciones a la hora de realizar cualquier operación.


  • Emplear Transacciones en todas las oportunidades que sea debido.


Tratar en lo posible de encapsular funciones para manipular la base de datos en una clase. Esto da más organización al código.

Métodos que debes programar:

En mi experiencia desarrollando aplicaciones de pequeño tamaño siempre he desarrollado tres tipos de métodos:


  • Uno que devuelva un sólo resultado (los resultados de un SUM, verificar si algo existe y devolver 0 o 1).
  • Otro que devuelva un arreglo con diversos resultados.


  • Un procedimiento que reciba por parámetro un array lleno de sentencias SQL y que procese una por una, limpiandolas de SQL injection, llevando la evaluación, manipulando excepciones, ejecutando todo el conjunto de instrucciones bajo una misma transacción.
Con estos métodos encapsulados vas a ahorrar mucho código y podrás optimizar el acceso a datos sin tener que cambiar todo el código de tu pequeña aplicación. Usar el patrón MVC También es ampliamente recomendable.

No hay comentarios: