Contents
GLUD-PHP-Framework - GPF
Descripción
GPF es un framework para el desarrollo de aplicaciones Web con PHP 5 utilizando el patrón arquitectónico MVC. Este framework se esta utilizando actualmente como marco de trabajo en el desarrollo del aplicativo de apoyo al proceso de control fiscal que se esta haciendo en la Universidad Distrital para la Auditoría General de la República.
Antecedentes
Versión Alpha 0.1: Se tomó como base el framework MVC Phrame, y se extendió la funcionalidad de las clases ActionForm permitiendo la validación automática de los datos de los formularios; se adicionó el BussinesObject, el cual a través de un arreglo donde se especificaban los campos de la clase y su relación con la base de datos, creaba al vuelo las sentencias SQL para la adición, eliminación, modificación y consulta de datos de un RDBMS, esto utilizando como base las librerías ADODB. Se crearón las clases View y ViewBuilder para permitir la generación de diferentes formatos de presentación de la información, solo cambiando el mapping de la aplicación.
Versión Alpha 0.1.5: Se implementó el patrón interceptor filter, para poder adicionar código que se ejecutara antes y despues de la invocación del ActionClass.
Versión Alpha 0.2: Se dejó de utilizar Phrame como base para la implementación del patron MVC y se creo el framework completamente para soportar la configuración de la aplicación con XML, siguiendo el diseño del mapping de los frameworks struts y webwork. Se remplazarón los BussinessObjects por la librería Propel. Se adicionó la generación automática de código para las operaciones CRUD a realizarse en una BD, basandose en la descripción XML de la pantalla de ingresos de datos. Se generan grillas de datos que permiten el ordenamiento y filtros de datos para campos de texto. Adición de validación de datos en el cliente a través de JavaScript utilizando la librería
Objetivos
General
Crear un marco de trabajo que permita el desarrollo rápido de aplicaciones web utilizando una arquitectura que permita la flexibilidad y estensibilidad de las aplicaciones que se desarrollen sobre él.
Específicos
- Crear un marco de trabajo que implemente el patrón MVC
- Crear un conjunto de librerías que faciliten la adición de mecanismos de autenticación y autorización a la aplicación a través de un sistema de interceptores.
- Crear herramientas y utilidades que permitan el desarrollo ágil de aplicaciones web, a través de la automatización de tareas repetitivas y parametrizables.
Estado del arte
Existen en la actualidad gran cantidad de frameworks para el desarrollo en PHP, entre ellos podemos listar:
Cosas por hacer
- A partir de la descripción XML de la base de datos que utiliza propel, generar el código de los Actions necesarios para las operaciones CRUD
- Obtener la descripción XML de la base de datos que utiliza propel, a través de una herramienta de modelado
- Mejorar y generalizar el mecanismo de filtros y ordenamiento de las grillas
- Adicionar mecanismos de internacionalización
- Generar un sistema de cache para el procesamiento de los mapping y consultas a BD
- Automatizar la creación de pruebas unitarias
Completar el mecanismo de validación automática de datos en el ActionForm
- Adicionar tipos de validación con javascript a realizarse entre campos del formulario
