PHP

PHP

PHP: Hypertext Preprocessor

PHP es un lenguaje de scripting de propósito general popular que es especialmente adecuado para el desarrollo web.

domingo, 5 de octubre de 2014

PATRÓN MVC EN PHP

Introducción al patrón MVC en PHP



    Hay muchos desarrolladores PHP a los que les es complicado pasar de trabajar sin framework a incluir un framework en sus desarrollos. Mucho se debe a que la mayoría de los frameworks profesionales de PHP funcionan con el patrón MVC y este parece difícil de comprender en un principio.


¿Qué es MVC?

      MVC (o Modelo Vista Controlador) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de la interfaz de usuario en una aplicación. El patrón fue creado por Trygve Reenskaug en los setenta, aunque no fue hasta 1988 que se expresó como concepto general en un artículo.

      En la primera definición de MVC el controlador era definido como "el módulo que se ocupa de la entrada" y la vista era "el módulo que se ocupa de la salida". El controlador no era el que invocaba a la vista, ni le pasaba los datos. Hay que tener en cuenta que el patrón MVC se postuló en ese entonces para las aplicaciones de escritorio (los pedidos tienen estado); mientras que actualmente se lo utiliza sobre todo en aplicaciones web (pedidos sin estado, debido al protocolo HTTP). Actualmente, el controlador es un intermediario de la comunicación entre el modelo y la vista y unifica la validación.



Modelo Vista Controlador


El modelo

      En su forma más simple, el modelo almacena datos que son accedidos desde la vista y escritos por el controlador. El modelo es la parte más compleja del sistema y contiene toda la lógica que es específica de la aplicación. Además, incluye a las entidades de dominio. No posee conocimiento de los controladores o vistas que pueden utilizarlo.

      Un modelo, por ejemplo, puede representar a un "usuario" en el sistema y manejar todas las operaciones que puede llevar a cabo un usuario.

El modelo no es:

o   un simple acceso a datos
o   una clase que representa una tabla en la base de datos


La vista

     Se encarga de mostrarle al visitante los resultados del sistema, es el encargado de generar el código HTML. Accede de forma directa al modelo y lo consulta para obtener los datos. Puede crear llamadas al controlador. Como dijimos antes, en MVC original, las vistas obtienen los datos directamente, no necesitan que el controlador se los provea.

La vista no:

o   está ausente de lógica
o   recibe datos del controlador


El controlador

    El controlador se encarga de tomar la entrada del usuario y modificar el modelo si es requerido. Si no existe interacción del usuario, no es necesario utilizar el controlador.
El controlador accede al modelo, pero no posee ninguna lógica para mostrarlo, todo lo que hace es responder a los pedidos del usuario.

El controlador no es:

o   un mediador entre la vista y el modelo
o   el lugar donde se inicializan las vistas


Flujo del sistema

 El programa va a funcionar de la siguiente manera:

El modelo, la vista y el controlador se inicializan
Se muestra la vista al usuario leyendo datos del modelo
El usuario interactúa con la vista, lo cual llama a una acción específica del controlador
El controlador modifica el modelo
La vista se refresca, mostrando el cambio en el modelo



0 comentarios:

Publicar un comentario

@ Raiza Venare / Venezuela. Con la tecnología de Blogger.