Diferencia entre revisiones de «Usuario:ManuelRomero/micursos/Laravel/EstructuraProyecto»
De WikiEducator
(→Directorio Raiz) |
(→Estructura de directorios) |
||
(10 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | {{:Usuario:ManuelRomero/ | + | {{:Usuario:ManuelRomero/CertificadoWeb2021/Laravel/introduccion/nav}} |
+ | |||
<br> | <br> | ||
{{Recursos de la Web| | {{Recursos de la Web| | ||
− | + | https://www.oulub.com/docs/laravel/es-es/structure | |
}} | }} | ||
===Estructura de directorios=== | ===Estructura de directorios=== | ||
*Al crear un proyecto Laravel, Lo primero que sorprende es la gran cantidad de ficheros que tiene sin haber escrito absolutamente una solo línea de código. | *Al crear un proyecto Laravel, Lo primero que sorprende es la gran cantidad de ficheros que tiene sin haber escrito absolutamente una solo línea de código. | ||
− | *Esto puede parecer desmotivador, pero no debe de serlo, no tenemos que conocer qué hace cada uno de esos | + | *Esto puede parecer desmotivador, pero no debe de serlo, no tenemos que conocer qué hace cada uno de esos 1125 directorios o 6826 ficheros (Instalación básica con Laravel 8) |
*Estos valores son el resultado de hacer un tree de un directorio de un proyecto laravel nada más crearlo. | *Estos valores son el resultado de hacer un tree de un directorio de un proyecto laravel nada más crearlo. | ||
*Aunque según se desarrollen los proyectos se van comprendiendo y ubicando cada uno de estos directorios junto con los ficheros que conllevan, conviene tener una visión general de la estructura del proyecto. | *Aunque según se desarrollen los proyectos se van comprendiendo y ubicando cada uno de estos directorios junto con los ficheros que conllevan, conviene tener una visión general de la estructura del proyecto. | ||
− | + | ||
+ | [[Archivo:EstructuraDirectoriosFicheros.png]] | ||
+ | |||
====Directorio Raiz==== | ====Directorio Raiz==== | ||
− | |||
*En este directorio es dónde básicamente vamos a desarrollar nuestra aplicación | *En este directorio es dónde básicamente vamos a desarrollar nuestra aplicación | ||
*Prácticamente la mayoría de los ficheros que tenemos que manipular se encuentran en esta carpeta. | *Prácticamente la mayoría de los ficheros que tenemos que manipular se encuentran en esta carpeta. | ||
Línea 21: | Línea 23: | ||
*Este es un directorio que hay que aprender nada más empezar con Laravel '''''app/Http''''' | *Este es un directorio que hay que aprender nada más empezar con Laravel '''''app/Http''''' | ||
;Directoria App | ;Directoria App | ||
− | [[Archivo: | + | [[Archivo:LaravelApp_5_8.png]] |
*Como hemos comentado es un directorio fundamental, sería el '''''directorio de la aplicación''''' | *Como hemos comentado es un directorio fundamental, sería el '''''directorio de la aplicación''''' | ||
− | * | + | *Dentro de él, el subdirectorio '''''Http''''' contiene elementos importantes: |
− | + | **Controladores ('''''Controllers'''''). | |
− | **Controladores | + | **Filtros o '''''Middleware'''''. |
− | **Filtros o | + | |
*La carpeta de modelos que antes estaba junto con estas carpetas, ha cambiado a partir de la versión 5 | *La carpeta de modelos que antes estaba junto con estas carpetas, ha cambiado a partir de la versión 5 | ||
;Directorio bootstrap | ;Directorio bootstrap | ||
− | *No tiene que ver con el framework de css bootstrap, si no con el proceso de arranque | + | *No tiene que ver con el framework de css bootstrap, si no con el proceso de arranque. |
− | *Unos ficheros php que se ejecutan en el arranque del inicio de la aplicación | + | *Unos ficheros php que se ejecutan en el arranque del inicio de la aplicación. |
− | [[Archivo: | + | [[Archivo:LaravelBootstrap_5_8.png]] |
;Directorio config | ;Directorio config | ||
*Es el directorio donde se ubican los ficheros de configuración | *Es el directorio donde se ubican los ficheros de configuración | ||
Línea 40: | Línea 41: | ||
*La autentificación en auth.php | *La autentificación en auth.php | ||
*Otros aspectos como vistas, sesiones, mail, cache. | *Otros aspectos como vistas, sesiones, mail, cache. | ||
− | [[Archivo: | + | [[Archivo:laravelConfig_5_8.png]] |
====Directorio database==== | ====Directorio database==== | ||
− | [[Archivo: | + | [[Archivo:laravelDatabase_5_8.png]] |
− | *Contiene los ficheros para gestionar lo que es la | + | *Contiene los ficheros para gestionar lo que es la adminstración de bases de datos desde el propio proyecto de laravel. |
*Como veremos podemos ir llevando de una forma constructiva las diferentes versiones de la base de datos | *Como veremos podemos ir llevando de una forma constructiva las diferentes versiones de la base de datos | ||
**Es decir podemos reproducir los diferentes estados de una base de datos y transportarlo a cualquier otro proyecto | **Es decir podemos reproducir los diferentes estados de una base de datos y transportarlo a cualquier otro proyecto | ||
− | *Gestionar la población de la base de datos también se puede hacer aquí | + | *Gestionar la población de la base de datos también se puede hacer aquí (factory y seeder) |
====Directorio public==== | ====Directorio public==== | ||
− | [[Archivo: | + | [[Archivo:laravelPublic_5_8.png]] |
*El el directorio público de nuestro proyecto | *El el directorio público de nuestro proyecto | ||
*Es como el var/www cuando hacemos un proyecto de los que estamos habituados | *Es como el var/www cuando hacemos un proyecto de los que estamos habituados | ||
Línea 61: | Línea 62: | ||
*robots.txt | *robots.txt | ||
====Directorio resources==== | ====Directorio resources==== | ||
− | [[Archivo: | + | [[Archivo:laravelResources_5_8.png]] |
*Importante este directorio por la vistas | *Importante este directorio por la vistas | ||
*En el guardaremos las vistas de nuestra aplicación | *En el guardaremos las vistas de nuestra aplicación | ||
*Laravel, como ya hemos comentado usa para vistas el gestor de plantillas Blade (nosotros usamos smarty, es parecido, conceptualmente igual, pero con su sintaxis y semántica particular). | *Laravel, como ya hemos comentado usa para vistas el gestor de plantillas Blade (nosotros usamos smarty, es parecido, conceptualmente igual, pero con su sintaxis y semántica particular). | ||
*También en el guardaremos traducciones a otros idiomas, etc | *También en el guardaremos traducciones a otros idiomas, etc | ||
+ | ====Directorio routes==== | ||
+ | [[Archivo:laravelRoutes_5_8.png]] | ||
+ | *Directorio usado por el framework para guardar ficheros que va generando | ||
+ | *Ficheros de cache o las plantillas compiladas (Al igual que smarty, blade es un sistema de plantillas compiladas) | ||
====Directorio storage==== | ====Directorio storage==== | ||
− | [[Archivo: | + | [[Archivo:laravelStorage_5_8.png]] |
*Directorio usado por el framework para guardar ficheros que va generando | *Directorio usado por el framework para guardar ficheros que va generando | ||
*Ficheros de cache o las plantillas compiladas (Al igual que smarty, blade es un sistema de plantillas compiladas) | *Ficheros de cache o las plantillas compiladas (Al igual que smarty, blade es un sistema de plantillas compiladas) | ||
====Directorio test==== | ====Directorio test==== | ||
− | [[Archivo: | + | [[Archivo:laravelTest_5_8.png]] |
+ | |||
====Directorio vendor==== | ====Directorio vendor==== | ||
[[Archivo:vendor.png]] | [[Archivo:vendor.png]] |
Última revisión de 18:51 21 jun 2023
Estructura de directorios
- Al crear un proyecto Laravel, Lo primero que sorprende es la gran cantidad de ficheros que tiene sin haber escrito absolutamente una solo línea de código.
- Esto puede parecer desmotivador, pero no debe de serlo, no tenemos que conocer qué hace cada uno de esos 1125 directorios o 6826 ficheros (Instalación básica con Laravel 8)
- Estos valores son el resultado de hacer un tree de un directorio de un proyecto laravel nada más crearlo.
- Aunque según se desarrollen los proyectos se van comprendiendo y ubicando cada uno de estos directorios junto con los ficheros que conllevan, conviene tener una visión general de la estructura del proyecto.
Directorio Raiz
- En este directorio es dónde básicamente vamos a desarrollar nuestra aplicación
- Prácticamente la mayoría de los ficheros que tenemos que manipular se encuentran en esta carpeta.
- Empezaremos moviéndonos dentro del directorio Http, donde se especifican las rutas de nuestro proyecto y los controladores.
- Este es un directorio que hay que aprender nada más empezar con Laravel app/Http
- Directoria App
- Como hemos comentado es un directorio fundamental, sería el directorio de la aplicación
- Dentro de él, el subdirectorio Http contiene elementos importantes:
- Controladores (Controllers).
- Filtros o Middleware.
- La carpeta de modelos que antes estaba junto con estas carpetas, ha cambiado a partir de la versión 5
- Directorio bootstrap
- No tiene que ver con el framework de css bootstrap, si no con el proceso de arranque.
- Unos ficheros php que se ejecutan en el arranque del inicio de la aplicación.
- Directorio config
- Es el directorio donde se ubican los ficheros de configuración
- Es un directorio importante donde tendremos que ir en varias ocasiones
- La configuración de la aplicación estará en app.php
- La configuración de la/s base/s de datos que tengamos en nuestra aplicación en databas.php.
- La autentificación en auth.php
- Otros aspectos como vistas, sesiones, mail, cache.
Directorio database
- Contiene los ficheros para gestionar lo que es la adminstración de bases de datos desde el propio proyecto de laravel.
- Como veremos podemos ir llevando de una forma constructiva las diferentes versiones de la base de datos
- Es decir podemos reproducir los diferentes estados de una base de datos y transportarlo a cualquier otro proyecto
- Gestionar la población de la base de datos también se puede hacer aquí (factory y seeder)
Directorio public
- El el directorio público de nuestro proyecto
- Es como el var/www cuando hacemos un proyecto de los que estamos habituados
- Lo que aquí ponemos queda expuesto al exterior
- Aquí deberán de estar los css, los ficheros javascript, música e imágenes que queremos publicar en nuestro sitio web
- Igualmente aquí están los ficheros
- index.php (Fichero de entrada para el ciclo de vida de una app en laravel)
- favico.ico
- .htacess
- robots.txt
Directorio resources
- Importante este directorio por la vistas
- En el guardaremos las vistas de nuestra aplicación
- Laravel, como ya hemos comentado usa para vistas el gestor de plantillas Blade (nosotros usamos smarty, es parecido, conceptualmente igual, pero con su sintaxis y semántica particular).
- También en el guardaremos traducciones a otros idiomas, etc
Directorio routes
- Directorio usado por el framework para guardar ficheros que va generando
- Ficheros de cache o las plantillas compiladas (Al igual que smarty, blade es un sistema de plantillas compiladas)
Directorio storage
- Directorio usado por el framework para guardar ficheros que va generando
- Ficheros de cache o las plantillas compiladas (Al igual que smarty, blade es un sistema de plantillas compiladas)
Directorio test
Directorio vendor
- Directorio donde se encuentran los ficheros con una compleja estructura de directorios y subdirectorios donde laravel tiene su propio kernel o motor para funcionar
- Totalmente gestionada por composer nosotros no debemos de tocar esta maravilla de software, solo disfrutarla(que hace mucho trabajo por nosotros).