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.

  • 📁 Carpeta de la aplicación: Almacena tus controladores, modelos, vistas, configuración, caché, funciones auxiliares, ganchos, lenguaje, bibliotecas, registros y paquetes de terceros.
  • 🧩 Carpeta del sistema: Almacena el núcleo del framework, los controladores de la base de datos, las fuentes, las funciones auxiliares, el idioma y las bibliotecas integradas; no edite estos archivos directamente.
  • ⚙️ Punto de entrada: El archivo raíz index.php inicia el framework, establece las rutas y dirige todas las solicitudes HTTP a través del controlador frontal.
  • Diferencias de versión: CodeIgniter 3 utiliza application/ y system/, mientras que CodeIgniter 4 introduce las carpetas app/, public/ y writable/ para una separación más estricta.
  • 🧪 Guía del proveedor y del usuario: Vendor almacena los paquetes de Composer que implementas, mientras que user_guide es la documentación local que debes excluir de los servidores de producción.

CodeCarpeta Igniter

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:

CodeEstructura de archivos/carpetas/directorios de Igniter
CodeEstructura de archivos/carpetas/directorios de Igniter

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.

Preguntas Frecuentes

La carpeta de la aplicación contiene el código de tu proyecto, como controladores, modelos y vistas, y puedes editarlo libremente. La carpeta del sistema contiene el núcleo del framework, y nunca debes modificar sus archivos, ya que las actualizaciones del framework los sobrescribirán.

In CodeEn Igniter 4, debes colocar los nuevos controladores en la carpeta app/Controllers/ usando espacios de nombres PSR-4. Asegúrate de que el nombre del archivo coincida con el nombre de la clase y, a continuación, registra una ruta en app/Config/Routes.php para que el framework pueda enviar las solicitudes a ella.

No. La carpeta user_guide contiene únicamente documentación local. Exclúyala de las implementaciones de producción para reducir el espacio que ocupa y evitar exponer material de referencia del framework en un servidor en funcionamiento. Las carpetas de proveedores y del sistema, en cambio, deben implementarse.

El archivo index.php es el controlador frontal. Establece el entorno, define las constantes de ruta y carga el arranque del framework para que cada solicitud entrante se enrute a través del CodeEl pipeline de Igniter se ejecuta antes de llegar a los controladores y las vistas.

Sí. Las herramientas de IA como GitHub Copilot, Cursor y Claude pueden generar controladores, modelos y vistas en las carpetas correctas, explicar archivos desconocidos y señalar clases mal ubicadas. Son especialmente útiles cuando cambias entre CodeIgniter 3 y CodeDiseños de Igniter 4.

Los asistentes de IA explican cómo los controladores manejan las solicitudes, los modelos gestionan los datos y las vistas renderizan la salida, y luego generan los archivos correspondientes en las carpetas correctas. También pueden revisar tu código, sugerir refactorizaciones y reforzar la separación MVC a medida que construyes aplicaciones reales. CodeProyectos Igniter.

Resumir este post con: