Creación de Estructura de Carpetas en un Proyecto PHP con Composer
Clase 3 de 14 • Curso de Introducción a Frameworks de PHP
Resumen
¿Cómo estructurar un proyecto similar a Laravel desde cero?
Crear una estructura de carpetas bien organizadas es crucial al desarrollar aplicaciones con frameworks como Laravel. Además de mejorar el flujo de trabajo, garantiza que el código resulte fácil de mantener y entender. A continuación, te mostramos cómo crear una estructura inicial para tu proyecto, inspirada en Laravel.
¿Qué carpetas son esenciales?
-
Carpeta
app
: Es la columna vertebral del proyecto. Esta carpeta se encargará de manejar las funcionalidades principales de tu aplicación.- Subcarpeta
HTTP
: Gestiona las solicitudes y respuestas. Aquí encontrarás:- Los controladores que procesan las solicitudes del usuario.
- Las clases de solicitud y respuesta.
- Un archivo
helpers
con funciones que facilitarán el desarrollo.
- Subcarpeta
-
Carpeta
public
: Contiene el punto de acceso principal a tu aplicación mediante el archivoindex.php
. -
Carpeta
vendor
: Se utiliza para el sistema de autocarga de Composer, gestionado con el estándarPSR-4
. -
Carpeta
views
: Lugar para las vistas de tu aplicación. Aquí vivirán las plantillas como la vistahome
.
¿Cómo configuramos Composer para el autoload?
La magia del autoload de Composer simplifica la carga de clases, permitiendo un flujo de trabajo más eficiente. Aquí te mostramos cómo configurar el autoload de Composer para tu proyecto.
-
Inicializa Composer:
composer init
Acepta las configuraciones predeterminadas, como el nombre del proyecto y el autor.
-
Configura el autoload:
- Agrega al archivo
composer.json
la configuración paraPSR-4
:"autoload": { "psr-4": { "App\\": "app/" } }
- Registra tu archivo
helpers
que todavía no existe, pero se creará posteriormente:"files": ["app/helpers.php"]
- Agrega al archivo
-
Ejecución para aplicar los cambios:
composer dump-autoload
¿Cómo organizamos las subcarpetas dentro de app
?
-
Crea las subcarpetas dentro de
HTTP
:Controllers
: Aquí irán los controladores responsables de las acciones del usuario.Requests y Responses
: Define cómo manejar las solicitudes y respuestas del sistema.
-
Crea y organiza las vistas:
Aloja vistas y plantillas dentro de la carpeta
views
para concretar cómo se mostrará la información al usuario. -
Carpeta pública:
Aquí vive el archivo
index.php
, que servirá como el punto de entrada de la aplicación, gestionando las solicitudes iniciales.
En resumidas cuentas, esta estructura básica no solo te ayudará a organizar tus proyectos, sino que te preparará para comprender y manejar frameworks más complejos en el futuro. Explora las potencialidades de esta estructura y adéntrate al mundo del desarrollo con un enfoque claro y eficiente.