Modelo-Vista-Controlador

From Joomla! Documentation

Revision as of 11:32, 28 February 2014 by Isidrobaq (talk | contribs) (Created page with "====Desarrollando un componente MVC para J2.5 ==== Introducción al desarrollo de un componente MVC para J2.5")
Other languages:
Bahasa Indonesia • ‎English • ‎Kiswahili • ‎Nederlands • ‎català • ‎español • ‎français • ‎italiano • ‎日本語

Joomla hace un uso extensivo del patrón de diseño Modelo-Vista-Controlador.

Cuando Joomla empieza a procesar una petición de un usuario, como un GET para una página concreta, o un POST con datos de un formulario, una de las primeras cosas que hace es analizar la URL para determinar qué componente será el responsable de procesar la petición, y entregar el control a ese componente.

Si el componente ha sido diseñado de acuerdo al patrón MVC, le pasará el control al controlador. El controlador es el responsable de analizar la petición y determinar qué modelo (o modelos) será necesario para satisfacer dicha petición, y qué vista debería usarse para devolver los datos de vuelta al usuario.

El modelo encapsula los datos usados por el componente. En la mayoría de los casos estos datos provendrán de la base de datos, bien de la de Joomla o bien de una externa, pero también es posible que el modelo obtenga datos de otras fuentes, como a través de una API de web services que corra en otro servidor. El modelo también es responsable de actualizar la base de datos cuando sea oportuno. El propósito del modelo es aislar al controlador y a la vista de los detalles sobre cómo son obtenidos o modificados los datos.

La vista es la responsable de generar la salida que es enviada al navegador por el componente. Llama al modelo para cualquier información que necesita y le da el formato adecuado. Por ejemplo, una lista de elementos de datos extraída del modelo podría incluirse dentro de una tabla HTML por la vista.

Since Joomla is designed to be highly modular, the output from the component is generally only part of the complete web page that the user will ultimately see. Once the view has generated the output, the component hands control back to the Joomla framework which then loads and executes the template. The template combines the output from the component, and any modules that are active on the current page, so that it can be delivered to the browser as a single page.

Para proporcionar poder y flexibilidad adicionales a los diseñadores web, que puede ser que prefieran preocuparse de crear nuevos diseños en lugar de manipular el código subyacente, Joomla divide la vista tradicional en vista y diseño separados. La vista extrae los datos del modelo, como en un patrón MVC tradicional, y a continuación simplemente pone esos datos a disposición del diseño, que es el responsable de dar formato a los datos para ser presentados al usuario. La ventaja de tener esta división es que el sistema de plantillas Joomla proporciona un mecanismo simple para que los diseños sean "reemplazados" en la plantilla. Estos "reemplazos" o "sobreescrituras" del diseño (a menudo llamados directamente por su denominación en inglés, "overrides" de plantilla, o directamente "template overrides" por ser parte de la plantilla, aunque realmente es el diseño lo que está siendo "modificado") son empaquetados directamente con la plantilla y proporcionan al diseñador de plantillas un control total sobre toda la salida del core de Joomla y cualquier extensión de terceros instalada que cumpla con el patrón de diseño MVC,



Véase También

Serie sobre desarrollo de Componentes

Desarrollando un Componente MVC para J3.x

Introducción al desarrollo de un componente MVC en J3.x

Desarrollando un componente MVC para J2.5

Introducción al desarrollo de un componente MVC para J2.5