Estructura

 

Estructura de archivos de framework

 

La carpeta Application

En la carpeta application se encuentran archivos PHP, en los cuales se encuentran las configuraciones básicas del framework, a continuación se listarán cada uno de ellos y se dará una breve descripción:

  • Acl.php: forma parte de la seguridad de la aplicación, como son los permisos y los roles de los usuarios.
  • Autoload.php: configuraciones del llamado de clases y librerías.
  • Bootstrap.php: se encarga de identificar los controladores, modelos y vistas, para después mandarlos llamar.
  • Config.php: configuración del acceso a la base de datos, PATHS.
  • Controller.php: configuración de los controladores.
  • Database.php: configuración PDO para la base de datos.
  • Error_log: configuraciones del manejo de errores.
  • Hash: configuraciones de encriptación.
  • Model: configuraciones de los modelos.
  • Registry: funciones para el registro de la aplicación.
  • Request.php: en el archivo request se encuentran definidas la reglas de las URL, la forma en la que se interpretan los datos ingresados, para que se tomen como controlador, método o argumentos. En las funcionen se dice que el primer dato ingresado en la url después de PATH se tome como el controlador, el segundo como método y los siguientes como argumentos. Request Procesa la petición del Bootstrap, que es el que hace las llamadas a los controladores y a los métodos.
  • Session.php: configuraciones de cuando un usuario inicia sesión.
  • View.php: configuraciones de las vistas.

 

La carpeta controllers

Contiene los controladores de la aplicación y sus componentes. Cabe mencionar que dentro de esta carpeta se encuentra el archivo PHP indexController.php el cual es el controlador por defecto de la aplicación.

 

La carpeta libs

Cualesquiera clases o librerías de terceros deberían ser ubicadas aquí. Dentro de la carpeta libs se encuentra la subcarpeta smarty, el cual es un motor de plantillas de PHP, su función es facilitar la separación de la parte lógica del contenido de la aplicación.

 

La carpeta models

Contiene los modelos de la aplicación, comportamientos y orígenes de datos.

 

La carpeta tmp

Dentro de esta carpeta se encuentra la subcarpeta template, en el cual se encuentra el diseño principal de la aplicación.

 

La carpeta views

Las vistas de la aplicación son ubicadas aquí, así como el layout de la aplicación. Dentro de la carpeta views se encuentra la subcarpeta layout en el cual se encuentran las carpetas css, img, js y el archivo template.tpl, en este último  encuentra el diseño de la aplicación que no son cambiantes, tal como el Header, footer, el menú, entre otros.  Cabe mencionar que el layout puede ser modificado al gusto del usuario, esto se puede lograr modificando los archivos css, img y js de ser necesario.

 

Archivo htacces

Gracias a este archivo podremos configurar nuestro servidor web para hacerlo algo más seguro, pero, además, también podremos realizar redirecciones, crear mensajes de error personalizados, restringir el acceso a carpetas, evitar el listado de directorios de nuestro servidor o permitir el uso de nuestro dominio sin usar las famosas ‘www’. No tiene porqué existir un solo archivo .htaccess, sino que puede existir un .htaccess para cada directorio si lo consideras necesario.

 

Archivo index.php

En este archivo se encuentran algunas configuraciones, tal como la instancia de la base de datos y el precargado del archivo de configuración config.php 

 

 

Diagrama Entidad- Relación de la base de datos

En la siguiente figura se muestra el diagrama de entidad relación de la base de datos, en donde se puede observar la relación entre las tablas que conforman al framework.

 

Diagrma UML de las partes principales del framework

En la siguiente figura se muestra el diagrama UML, en donde se pueden observar las clases, atributos y métodos principales que conforman al framework y su relación entre ellas.