LightVC: Un framework mínimo de vistas y controladores para PHP5
En estos días tenía que hacer un sitio web muy básico, estático, y para no repetir líneas y líneas de HTML le iba a meter algo de PHP. Pero no me daba hacer como en los viejos tiempos metiendo includes de header y footer, porque además quería poder manejar URLs un poco más amigables. No me iba a poner a reinventar la rueda para este pequeño sitio ni tenía ganas de usar un framework grande que pese 500 veces más que el sitio en sí para darme un montón de funcionalidades que no iba a usar.
Buscando un rato en Google me topé con LightVC. Es un framework muy básico y livianito que solamente implementa las vistas y los controladores de lo que sería un patrón MVC. Precisamente está pensado para sitios que, o bien no necesitan interactuar con una DB (como en mi caso) o que quieren integrarse fácilmente con un ORM.
Usarlo es muy sencillo. Simplemente nos bajamos del sitio web el esqueleto de una aplicación que zippeado pesa sólo 24 KB, lo descomprimimos, apuntamos nuestro virtual host a la carpeta webroot de nuestro proyecto y ya tenemos un ejemplo andando.
Luego tenemos dos archivos de configuración: config/application.php con algunas constantes e includes básicos y config/routes.php donde definimos un array para el ruteo de los requests. Les muestro el ejemplo que viene al desargar el framework que es bastante claro:
parseInfo
$regexRoutes = array(
// Map nothing to the home page.
'#^$#' => array(
'controller' => 'page',
'action' => 'view',
'action_params' => array(
'page_name' => 'home',
),
),
// Allow direct access to all pages via a "/page/page_name" URL.
'#^page/(.*)$#' => array(
'controller' => 'page',
'action' => 'view',
'action_params' => array(
'page_name' => 1,
),
),
// Map controler/action/params
'#^([^/]+)/([^/]+)/?(.*)$#' => array(
'controller' => 1,
'action' => 2,
'additional_params' => 3,
),
// Map controllers to a default action (not needed if you use the
// Lvc_Config static setters for default controller name, action
// name, and action params.)
'#^([^/]+)/?$#' => array(
'controller' => 1,
'action' => 'index',
),
);
?>
Luego tenemos una carpeta views y una carpeta controllers donde podremos poner nuestras vistas y controladores respectivamente. El esqueleto de la aplicación ya viene con ejemplos de todo esto, lo cual hace muy sencillo comprender cómo funcionan las cosas y dejar nuestra aplicación funcionando en forma muy rápida.
Así que ya saben, la próxima vez que tengan que hacer un sitio muy básico y quieran utilizar un framework muy sencillo que les ahorre trabajo en algunas tareas básicas, peguenle una mirada a LightVC.





Recent Comments