CodeEstructura de carpetas, archivos y directorios de Igniter
⚡ Resumen inteligente
CodeIgniter organiza un proyecto PHP en carpetas predecibles para la lógica de la aplicación, los archivos del sistema del framework, los paquetes de proveedores de Composer y un único script de entrada, de modo que los principiantes puedan localizar el código rápidamente y los desarrolladores intermedios puedan escalar una estructura MVC limpia.
Comprender la estructura de archivos en CodeIgniter es esencial antes de crear cualquier aplicación real. Un diseño predecible ayuda a localizar controladores, modelos y vistas rápidamente, depurar problemas de enrutamiento e incorporar nuevos miembros al equipo con mayor rapidez. Este tutorial cubre el diseño clásico. CodeEstructura de Igniter 3 que todavía se implementa ampliamente y también aclara las diferencias clave que encontrará en CodeIgniter 4.x introduce las carpetas app/, public/ y writable/ como carpetas de nivel superior separadas.
¿Qué es el Code¿Estructura de archivos y directorios de Igniter?
El CodeLa estructura de archivos de Igniter es la disposición predeterminada de carpetas y archivos PHP con la que viene el framework después de descargarlo o instalarlo. Separa la lógica de tu aplicación del núcleo del framework, mantiene aisladas las dependencias de Composer y expone un único punto de entrada a través de index.php. La siguiente imagen muestra la estructura de archivos en CodeEncendedor:
Aquí hay un árbol de directorio simplificado para un nuevo CodeInstalación de Igniter 3:
// CodeIgniter 3 root layout project-root/ ├── application/ ├── system/ ├── user_guide/ ├── vendor/ ├── composer.json ├── composer.lock └── index.php
Explicación de las carpetas de nivel superior
Ahora veamos los archivos anteriores en CodeEstructura del encendedor:
- Postulación – Este es el directorio que contendrá la lógica de su aplicación. Todo el código de su aplicación estará contenido en este directorio.
- te – esta carpeta contiene los archivos principales del marco. No se recomienda realizar cambios en este directorio ni colocar su propio código de aplicación en este directorio.
- guía del usuario – este directorio contiene el manual de usuario para CodeEncendedor.
- vendedor – Este directorio contiene el código fuente de los paquetes de Composer. Los otros archivos relacionados con este directorio son composer.json y composer.lock.
- index.php – este es el punto de entrada a la aplicación.
CodeSubdirectorios de la aplicación Igniter
Ahora vamos a examinar los directorios con más detalle. Como se mencionó, el directorio de la aplicación contiene el código de su proyecto. En esta sección, examinaremos los subdirectorios internos en el CodeEstructura de directorios de Igniter:
- cache – Almacena los archivos en caché generados por las bibliotecas de almacenamiento en caché de la base de datos y de la salida.
- config – Conserva archivos de configuración como database.php, routes.php y autoload.php.
- controladores – todos los controladores de la aplicación se definen aquí y se mapean. URL segmentos a acciones.
- centro – Contiene clases principales personalizadas que extienden archivos del sistema. Por ejemplo, si crea un controlador base del que otros controladores deban extenderse, deberá colocarlo en este directorio.
- ayudantes – este directorio de la CodeLa estructura de carpetas de Igniter se utiliza para las funciones auxiliares definidas por el usuario.
- manos – Se utiliza para ganchos personalizados en la estructura de carpetas de CI que se activan durante el ciclo de ejecución del framework.
- idioma – Se utiliza para almacenar archivos de idioma para aplicaciones que utilizan más de un idioma.
- bibliotecas – Se utiliza para almacenar bibliotecas creadas a medida.
- los registros – Los archivos de registro de la aplicación se guardan en este directorio.
- modelos – Todos los modelos de aplicación deben definirse en este directorio.
- tercero – Esto se utiliza para paquetes personalizados que usted u otros desarrolladores hayan creado.
- AL MAR – Las vistas de la aplicación se guardan en este directorio.
Aquí se muestra un ejemplo del árbol de subdirectorios de la aplicación:
// application/ subdirectories application/ ├── cache/ ├── config/ ├── controllers/ ├── core/ ├── helpers/ ├── hooks/ ├── language/ ├── libraries/ ├── logs/ ├── models/ ├── third_party/ └── views/
CodeSubdirectorios del sistema Igniter
Ahora veamos los subdirectorios del sistema en la estructura de archivos de CI. Recuerda que aquí reside el código fuente del framework, así que no modifiques los archivos de este directorio.
- centro – esto es como el corazón del CodeMarco de trabajo IgniterAquí se encuentran todos los archivos principales que conforman el framework. Si desea ampliar la funcionalidad de un archivo principal, deberá crear un archivo principal personalizado en el directorio de la aplicación. Posteriormente, podrá sobrescribir o agregar el comportamiento que desee. Nunca realice cambios directamente en este archivo.
- base de datos de CRISPR Medicine News Aquí se proporcionan los controladores de la base de datos, la caché y otros archivos necesarios para las operaciones de la base de datos.
- fuentes – Como su nombre indica, este directorio contiene fuentes tipográficas e información relacionada con ellas.
- ayudantes – este directorio en el CodeLa carpeta de estructura de Igniter contiene funciones auxiliares que vienen incluidas de serie.
- idioma – Contiene archivos de idioma que utiliza el framework.
- bibliotecas – contiene los archivos fuente de las distintas bibliotecas que vienen con CodeEncendedor listo para usar.
La estructura de carpetas del sistema es la siguiente:
// system/ subdirectories system/ ├── core/ ├── database/ ├── fonts/ ├── helpers/ ├── language/ └── libraries/
CodeDirectorio de la guía del usuario de Igniter
Este directorio sirve como guía de referencia para cuando quieras entender el CodeAPI de Igniter. No debes subir este directorio al desplegar tu aplicación en producción, ya que aumenta el tamaño y expone documentación que no tiene cabida en un servidor en producción.
CodeDirectorio de proveedores de Igniter
Este directorio contiene los archivos fuente de los paquetes que instalas mediante Composer. Los archivos de este directorio deben permanecer sin cambios. A diferencia del directorio `user_guide`, este directorio debe subirse si utilizas paquetes de Composer en tu aplicación.
Archivo index.php
El archivo index.php en el CodeLa estructura de archivos de Igniter contiene el código de arranque que define el entorno, las rutas y la notificación de errores antes de ceder el control al framework. Este archivo se encuentra en el directorio raíz y actúa como controlador frontal para cada solicitud HTTP entrante.
Cómo CodeIgniter 4 cambia la estructura
CodeIgniter 4.x reorganizó la estructura para mejorar la seguridad y la carga automática de PSR-4. En lugar de una sola carpeta de aplicación, ahora verá tres carpetas de nivel superior que separan las responsabilidades de forma más estricta:
- aplicación / – equivalente a la antigua carpeta/aplicación, que contiene controladores, modelos, vistas, configuración, filtros y bibliotecas.
- público/ – la única carpeta expuesta a la web, que contiene index.php y tus archivos CSS, JS e imágenes.
- escribible/ – Almacena la caché, los registros, las sesiones y las cargas que el marco de trabajo necesita escribir en tiempo de ejecución.
- sistema / – aún conserva el núcleo del marco, con espacio de nombres bajo CodeEncendedor\.
- vendedor/ – paquetes de compositor, idénticos en función a CI 3.
// CodeIgniter 4 root layout project-root/ ├── app/ ├── public/ ├── writable/ ├── system/ ├── vendor/ ├── tests/ ├── composer.json ├── env └── spark
Si estás comenzando un nuevo proyecto hoy, CodeIgniter 4 es la versión recomendada. Si mantienes un código fuente antiguo, la estructura de CI 3 descrita anteriormente coincidirá con lo que veas en el disco.
Trabajando con el CodeEstructura de Igniter: Día a día
Una vez que sepas dónde se encuentra cada carpeta, las tareas comunes se simplificarán. Crea un nuevo controlador en application/controllers/ (o app/Controllers/ en CI 4), asócialo a una ruta en config/routes.php, crea un modelo en models/ y genera la salida desde un archivo de vista en views/. Mantén la configuración en config/, coloca el código reutilizable en helpers/ o libraries/, y deja que Composer gestione todo dentro de vendor/. Sigue esta disciplina y tu proyecto seguirá siendo fácil de navegar incluso a medida que crezca.

