sábado, 29 de noviembre de 2014

Funcionamiento y Arquitectura de Yii 2

Como hemos visto, luego de instalar Yii accedemos a nuestra aplicación a través de la url http://hostname/basic/web/index.php o http://hostname/index.php, dependiendo de la configuración de nuestro servidor. Recordemos que en este caso, basic es el nombre de nuestra aplicación.

Funcionalidad

Al instalar Yii 2, nuestra aplicación básica tiene cuatro páginas:
  1. La página de inicio
  2. La página "About" (Acerca de)
  3. La página "Contact" (Contacto) que despliga un formulario de contacto.
  4. La página "Login" (Ingreso) que permite ingresar nuestro nombre de usuario y clave.
Éstas paginas comparten una cabecera y un pie de página. La cabecera contiene un menú principal que permite navegar entre las diferentes páginas.

Hasta aquí, se parece mucho a la versión 1.

En ésta nueva versión, en la parte inferior del navegador tenemos una barra de herramientas con información útil que nos permite depurar nuestra aplicación. Podemos ver mensajes, estatus, consultas a la base en ejecución, y más.

Estructura de la aplicación

Como habíamos mencionado, basic es el nombre de nuestra aplicación. Partiendo de éste directorio, nuestra estructura de directorios y archivos sería:

basic/                  directorio principal de la aplicación
    composer.json       usado por Composer, información del paquete
    config/             contiene configuraciones
        console.php     configuración de la consola de aplicaciones
        web.php         configuración de la aplicación web
    commands/           contiene clases de la consola de comandos
    controllers/        contiene los controladores
    models/             contiene los modelos
    runtime/            contiene archivos generados por Yii durante                           el tiempo de ejecución, como archivos logs                            y de caché
    vendor/             contiene paquetes instalados por Composer,                            incluyendo el framework Yii en sí mismo
    views/              contiene las vistas
    web/                raíz de la nuestra aplicación Web,                                    contiene los archivos accesibles
        assets/         contiene archivos publicados por Yii                                  (javascript y css)
        index.php       script de entrada a la aplicación (bootstrap)
    yii                 script de ejecución de la                                             consola de comandos  Yii

En general, los archivos pueden ser divididos en dos tipos:  los que están bajo el directorio basic/web y los que están en otro directorios. A los primeros se puede acceder vía HTTP (un navegador web), mientras que los segundos no pueden y no deberían ser accesibles.

Al igual que en la versión 1, Yii implementa el patrón de diseño Modelo-Vista-Controlador (MVC). El siguiente diagrama muestra la estructura estática de una aplicación.



Cada aplicación tiene un script de entrada web/index.php que debe ser el único accesible. El script de entrada toma la petición de entrada y crea una instancia de la aplicación. La aplicación resuelve la petición con ayuda de sus componentes, y despacha la petición a los elementos MVC. Los widgest son utilizados en las vistas para ayudar a construir interfaces de usuario más complejas y dinámicas.

Ciclo de vida de una petición

Al realizar una petición se siguen los siguientes pasos:

  1. Un usuario realiza una petición a través del script de entrada web/index.php
  2. El script de entrada llama a la configuración de la aplicación y crea una instancia de la aplicación que maneje la petición.
  3. La aplicación resuelve la petición con ayuda de sus componentes.
  4. La aplicación crea una instancia de controlador para manejar la petición.
  5. La aplicación crea una instancia de acción y ejecuta los filtros para la acción.
  6. Si cualquier filtro falla, la acción es cancelada.
  7. Si todos los filtros pasan, la acción es ejecutada.
  8. La acción llama a un modelo, posiblemente de base de datos.
  9. La acción devuelve (renderiza) una vista, junto con el modelo de datos.
  10. El resultado proveído (renderizado) se devuelve al componente de aplicación de respuesta.
  11. El componente de respuesta envía el resultado proveído (renderizado) al navegador del usuario.

La siguiente imagen describe gráficamente éstos pasos.



También te puede interesar:
Instalando Yii 2
Configurando el servidor web
Yii Framework 2

No hay comentarios.:

Publicar un comentario

Nota: sólo los miembros de este blog pueden publicar comentarios.