Yii - Estructura de la aplicación

Solo hay una carpeta en la base de código general que está disponible públicamente para el servidor web. Es el directorio web. Otras carpetas fuera del directorio raíz web están fuera del alcance del servidor web.

Note - Todas las dependencias del proyecto se encuentran en el composer.jsonarchivo. Yii2 tiene algunos paquetes importantes que Composer ya incluye en su proyecto. Estos paquetes son los siguientes:

  • Gii: la herramienta generadora de código
  • La consola de depuración
  • El marco de prueba de Codeception
  • La biblioteca SwiftMailer
  • La biblioteca de la interfaz de usuario de Twitter Bootstrap

Los primeros tres paquetes solo son útiles en el entorno de desarrollo.

La estructura de la aplicación de Yii2 es precisa y clara. Contiene las siguientes carpetas:

  • Assets - Esta carpeta incluye todos los archivos .js y .css a los que se hace referencia en la página web.

  • Commands - Esta carpeta incluye los controladores que se pueden utilizar desde el terminal.

  • Config - Esta carpeta contiene config archivos para administrar la base de datos, la aplicación y los parámetros de la aplicación.

  • Mail - Esta carpeta incluye el diseño del correo.

  • Models - Esta carpeta incluye los modelos utilizados en la aplicación.

  • Runtime - Esta carpeta es para almacenar datos en tiempo de ejecución.

  • Tests - Esta carpeta incluye todas las pruebas (aceptación, unidad, funcional).

  • Vendor - Esta carpeta contiene todos los paquetes de terceros administrados por Composer.

  • Views- Esta carpeta es para las vistas que muestran los controladores. La carpeta de diseño es una plantilla de página.

  • Web - El punto de entrada desde la web.

Estructura de la aplicación

A continuación se muestra la representación esquemática de la estructura de la aplicación.

Yii2 - Objetos

La siguiente lista contiene todos los objetos de Yii2:

Modelos, vistas y controladores

Los modelos son para la representación de datos (generalmente de la base de datos). Las vistas son para mostrar los datos. Los controladores sirven para procesar solicitudes y generar respuestas.

Componentes

Para crear una funcionalidad reutilizable, el usuario puede escribir sus propios componentes. Los componentes son solo objetos que contienen lógica. Por ejemplo, un componente podría ser un convertidor de peso.

Componentes de la aplicación

Estos son objetos que se instanciaron solo una vez en toda la aplicación. La principal diferencia entre los componentes y los componentes de la aplicación es que este último solo puede tener una instancia en toda la aplicación.

Widgets

Los widgets son objetos reutilizables que contienen tanto código lógico como de renderizado. Un widget podría ser, por ejemplo, un control deslizante de galería.

Filtros

Los filtros son objetos que se ejecutan antes o después de la ejecución de las acciones del controlador.

Módulos

Puede considerar los módulos como subaplicaciones reutilizables, que contienen modelos, vistas, controladores, etc.

Extensiones

Las extensiones son paquetes que pueden ser administrados por Composer.