Modelo Vista Controlador en PHP
Cualquiera que haya usado PHP últimamente tiene que haber oído hablar del Modelo Vista Controlador.
Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página. El modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista.
Tomado de Wikipedia
El MVC es por así decirlo la mejor forma de desarrollar una aplicación Web teniendo total control sobre cada una de sus partes ya que este nos separa por un lado la vista final del usuario y por otro lado las conexiones a la Base de Datos y tenemos un controlador que finalmente es el que se encarga de la lógica de la aplicación definiendo que se debe mostrar (Vista) y que datos debe cargar (Modelo).
Existen multitud de frameworks actualmente que trabajan siguiendo la lógica MVC de hecho a continuación les presento una lista de estos publicada en Lonerunners
Aunque también es posible desarrollar nuestro propio framework y en muchos casos, para aplicaciones simples o si no tenemos el tiempo para aprender a manejar todo un framework, esta seria le mejor opción.
Podemos encontrar en internet multitud de paginas donde nos explican como crear una aplicación con MVC de forma muy simple y paso a paso.
Acá les dejo una guía publicada en Jourmoly donde nos explican como crear una aplicacion simple utilizando Modelo Vista Controlador, La guía esta distribuida en dos partes Parte 1 y Parte 2.
Desarrollar nuestro propio framework puede traernos muchas ventajas ya que nosotros mismos conoceremos toda su lógica interna y como debe funcionar cada componente que le agreguemos luego, e incluso como ocurre con algunos es incluso mas fácil desarrollar el nuestro propio que aprender a manejar uno ya existente, aunque también tenemos que tener en cuenta que tenemos que ser mas cuidadosos con respecto a la seguridad y al manejo de variables de sesión.
Si el proyecto es muy grande tal vez sea mas conveniente usar un framework ya existente, ya que podremos olvidarnos de toda su lógica interna y dedicarnos simplemente al desarrollo de nuestros componentes e incluso podemos usar muchos de los que trae el framework por defecto o los que podemos encontrar por la Web.
En mi opinión una buena opción, no necesariamente la mejor, es Joomla ya que es un Framework open source que ha sido utilizado en muchos proyectos grandes y esta ampliamente soportado por la comunidad que siempre estarán dispuestos a echarte una mano, en un articulo pasado ya publique un manual de joomla en donde aprenderemos el desarrollo básico tanto de componentes como de módulos y pluggins, incluyendo el empaquetado y distribuccion, esto en caso de que se decidan por este framework, también les dejo un enlace a la Documentacion de Joomla. Y como ya les había dicho antes es un Framework Open Source, por lo que podremos curiosear por su lógica interna y conocer completamente su funcionamiento a aquellos que les interese.
Obviamente es mucha la informacion que podemos encontrar sobre MVC en la Red, asi que este articulo no pretende abarcarlo totalmente, pero si darle una mano a aquellos que pretenden iniciarse en este.





Que yo sepa, Joomla no es un framework, sino un gestor de contenidos, una aplicación web la cual puedes modificar a tu gusto.
De acuerdo con juanjo, Joomla es un CMS, los CMS te permmiten administrar contenidos en una pagina web de forma dinamica… este esta construido con el modelo MVC pero no es un framework… ¿y desarrollar nuestro framework?… una cosa es el patron de desarrollo M.V.C, otra cosa es un framework con los que se pueden construir aplicaciones bajo el patron MVC en PHP y otra cosa son los CMS como Joomla