jueves, 23 de junio de 2011

Creacion de Metodos para Clase Conexion PHP

Hoy veremos como crear metodos con la clase conexion siempre usando el estilo orientado a objetos que hemos ido desarrollando .

Nuestro proyecto tendra una estructura como la que vemos en la imagen con una capa de persistencia donde haremos todos los procedimientos que tengan que ver con la base de datos,dentro de la capa de persistencia esta el action que es donde estan los archivos de todos los procedimientos del sistema , conexion es donde estan las clases de conexion , luego van las entidades que nos ayudaran al traer y devolver informacion de nuestras entidades en la base de datos no son mas que clases con getter y setter, luego esta el SQLClass que es la encargada de construir las consultas sql .

Ahora veremos la parte del action :

Como aplicaremos conceptos orientados a objetos entonces necesitaremos una clase abstracta en el action que nos retorne la conexion con un metodo y asi solo heredar esa caracteristica que los hace familia a las demas clases .

Pero primero como todo buen sistema tenemos que guardar lo que sucede en cada momento importante, he creado una clase historial la cual hace lo que su nombre dice guarda el historial.

Pero antes tenemos que ver la clase que construira el SQL para mayor comodidad y poner en practica la teoria orientada a objetos.

Esta clase contiene todas las funciones que retornaran un sql , si en dado caso necesitamos parametros solo los indicamos y retornamos el string concatenado .

La clase historial heredara de la abstracta para obtener la conexion a la base de datos , luego creamos un metodo el cual pedira un Objeto usuario que es la clase entidad de usuario, y un string de accion que es lo que se esta realizando a la hora de guardar el historial.

Antes de ver el action veremos como esta formado la clase entidad , no es mas que una clase que contendra getter y setter de los atributos de esa entidad , y esa entidad la tomaremos como una tabla de nuestra base de datos.

Esto nos servira para traer la informacion y devolverla de una manera facil y exacta de lo que queremos ocupar , esto nos evita el estar declarando propiedad por propiedad en nuestro metodo .

Bien esta es la clase que contendra toda la logica de la aplicacion primero vemos que hereda de la abstracta y luego tenemos un metodo publico que sirve para logearse vemos que tenemos como parametro a la clase entidad haciendo uso de type hinting que significa tipos sugeridos , luego llamamos a la conexion con self que sirve para traer metodos de la misma clase , antes de eso instanciamos la clase sql para enviarle los valores a la funcion y que nos retorne la sql con esos valores.

Luego ejecutamos la consulta por medio de la conexion y lo recorremos para ver si trajo resultados o no ,si trajo resultados pues simplemente llama a otro metodo privado para que cree la sesion y guarde el historial.

El otro metodo sirve para cerrar la sesion.

Ahora como ejecutamos esto en una aplicacion , solo veamos el codigo que esta aca abajo que es un fragmento del login.

Hemos visto como implementar las caracteristicas de la POO primero el principio de ocultacion , hemos ocultado muchas funciones para que la otra funcion no tenga que preocuparle caracteristicas mas profundas solo se hace una idea general del objeto , Generalizacion, y encapsulamiento, ciertas funciones son privadas y solo se pueden accesar a travez de la clase misma , ahora con la abstraccion lo que hemos hecho es separar los elementos singularmente para hacer asi mucho mejor su compresion ,La abstracción nos permite dividir nuestro programa en distintos objetos que se agrupan para formar cosas más complejas, cumplimos con una vieja regla de guerra: Divide y Vencerás. Es decir, lo que hacemos es seccionar nuestro código en grupos de código más pequeño que, al unirlos, hacen el trabajo.

Y el ultimo pero no menos importante que es la herencia ,la herencia nos permite, entre otras cosas, evitar tener que escribir el mismo código una y otra vez, puesto que al definir que una categoría (que en programación llamaremos clase) pertenece a otra, automáticamente estamos atribuyéndoles las características generales de la primera, sin tener que definirlas de nuevo.

Tambien usamos otros elementos que son caracteristica como interfaces metodos sobrecargados metodos asesores.

Comenten no sean bayuncos

Descargar archivo Completo

No hay comentarios:

Publicar un comentario