Después de haber instalado Yii, tienes una aplicación totalmente funcional a la que se puede acceder a través de la URL
http://hostname/avanzada/web/index.php
o http://hostname/index.php
, dependiendo de tu configuración. Esta sección será una introducción a la funcionalidad incluida de la aplicación, cómo se organiza el código, y cómo la aplicación maneja los requests en general.La versión instalada en tu caso es la avanzada.
Funcionalidad
La aplicación básica contiene 4 páginas:
- página principal, mostrada cuando se accede a la URL
http://hostname/index.php
, - página "Acerca de (About)",
- la página "Contacto (Contact)", que muestra un formulario de contacto que permite a los usuarios finales contactarse vía email,
- y la página "Login", que muestra un formulario para loguearse que puede usarse para autenticar usuarios. Intenta loguearte con "admin/admin", y verás que el elemento "Login" del menú principal cambiará a "Logout".
Estas páginas comparten un encabezado y un pie. El encabezado contiene una barra con el menú principal que permite la navegación entre las diferentes páginas.
También deberías ver una barra en la parte inferior de la ventana del navegador. Esta es la útil herramienta de depuración provista por Yii para registrar y mostrar mucha información de depuración, tal como los mensajes de log, response status, las consultas ejecutadas a la base de datos, y más.
Adicionalmente a la aplicación web, hay un script de consola llamado
yii
, localizado en el directorio base de la aplicación. El script puede ser utilizado para ejecutar tareas de fondo y tareas de mantenimiento de la aplicación, las cuales son descritas en la Sección de Aplicación de Consola.Estructura de la aplicación
Los archivos y directorios más importantes en tu aplicación son (asumiendo que la raíz de la aplicación es
basic
): tu tienes la avanzada y por lo tanto hay más elementos en la estructurabasic/ base path de la aplicación
composer.json archivo utilizado por Composer, describe información de sus paquetes y librerías
config/ contiene la configuración de las aplicaciones (y otras)
console.php configuración de la aplicación de consola
web.php configuración de la aplicación web
commands/ contiene las clases de comandos de consola
controllers/ contiene las clases de los controladores
models/ contienes las clases del modelo
runtime/ contiene archivos generados por Yii en tiempo de ejecución, como archivos de log y cache
vendor/ contiene los paquetes y librerías instalados por Composer, incluyendo el propio núcleo de Yii
views/ contiene los archivos de vistas (templates)
web/ raíz web de la aplicación, contiene los archivos accesibles vía Web
assets/ contiene los assets publicados (javascript y css) por Yii
index.php el script de entrada (o bootstrap) de la aplicación
yii el script de ejecución de los comandos de consola de Yii
Yii implementa el patrón de diseño modelo-vista-controlador (MVC), que es reflejado en la estructura de directorios utilizada. El directorio
models
contiene todas las clases del modelo, el directorio views
contiene todas las vistas (templates), y el directorio controllers
contiene todas las clases de controladores.
El siguiente diagrama muestra la estructura estática de una aplicación.
Cada aplicación tiene un script de entrada
web/index.php
que es el único script PHP accesible vía web. El script de entrada toma una petición (request) entrante y crea una instancia de una aplicación para manejarlo. La aplicación resuelve la petición (request) con la ayuda de sus componentes, y la envía al resto de los elementos MVC. Los widgets son usados en las vistas para ayudar a construir elementos de interfaz complejos y dinámicos.Ciclo de Vida de una Petición (Request)
El siguiente diagrama muestra cómo una aplicación maneja una petición.
- Un usuario realiza una petición al script de entrada
web/index.php
. - El script de entrada carga la configuración de la aplicación y crea una instancia de la aplicación para manejar la consulta.
- La aplicación resuelve la ruta solicitada con la ayuda del componente request de la aplicación.
- La aplicación crea una instancia de un controlador para manejar la petición.
- El controlador crea una instancia de una acción y ejecuta los filtros de dicha acción.
- Si alguno de los filtros falla, la acción es cancelada.
- Si todos los filtros pasan, la acción es ejecutada.
- La acción carga datos del modelo, posiblemente de la base de datos.
- La acción renderiza una vista, pasándole los datos del modelo cargado.
- El resultado de la renderización es pasado al componente response de la aplicación.
- El componente response envía el resultado de la renderización al navegador del usuario.
Eso es todo con respecto al funcionamiento y estructura de una Aplicación Yii2 con la plantilla avanzada.
Si todos estos elementos son un poco confusos al inicio no te preocupes conforme vayas avanzando se te harán más familiares y empezaras con las expresiones ahhhh era eso , ahhh ya entendí ó ahhhhhh ok ok
No hay comentarios:
Publicar un comentario