Diferencia entre revisiones de «Usuario:ManuelRomero/micursos/Laravel/EstructuraProyecto»

De WikiEducator
Saltar a: navegación, buscar
(Estructura de directorios)
(Estructura de directorios)
 
(11 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 
__NOTOC__
 
__NOTOC__
{{:Usuario:ManuelRomero/micursos/Laravel/introduccion/nav}}
+
{{:Usuario:ManuelRomero/CertificadoWeb2021/Laravel/introduccion/nav}}
 +
 
 
<br>
 
<br>
 
{{Recursos de la Web|
 
{{Recursos de la Web|
http://www.desarrolloweb.com/articulos/estructura-carpetas-laravel5.html
+
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 1011 directorios o 4557 ficheros
+
*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.
*podemos ver una imagen la versión 5.8 de Laravel (marzo 2019)
+
 
 +
[[Archivo:EstructuraDirectoriosFicheros.png]]
 +
  
  
 
====Directorio Raiz====
 
====Directorio Raiz====
[[Archivo:directoriosLaravel_58.png]]
 
 
*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.
 +
[[Archivo:listadoLaravel_5_8.png]]
 
*Empezaremos moviéndonos dentro del directorio '''''Http''''', donde se especifican las rutas de nuestro proyecto y los controladores.  
 
*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'''''
 
*Este es un directorio que hay que aprender nada más empezar con Laravel '''''app/Http'''''
 
;Directoria App
 
;Directoria App
[[Archivo:appDir.png]]
+
[[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'''''
*Como ya hemos dicho el sugdirectorio '''''Http'''''  contiene la estructura de la aplicación con
+
*Dentro de él, el subdirectorio '''''Http'''''  contiene elementos importantes:
**Rutas
+
**Controladores ('''''Controllers''''').
**Controladores
+
**Filtros o '''''Middleware'''''.
**Filtros o middleware
+
 
*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:bootstrapDir.png]]
+
[[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 39: 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:configDir.png]]
+
[[Archivo:laravelConfig_5_8.png]]
  
 
====Directorio database====
 
====Directorio database====
[[Archivo:databaseDir.png]]
+
[[Archivo:laravelDatabase_5_8.png]]
*Contiene los ficheros para gestionar lo que es la adminstracion de bases de datos desde el propio proyecto de laravel.
+
*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:publicDir.png]]
+
[[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 60: Línea 62:
 
*robots.txt
 
*robots.txt
 
====Directorio resources====
 
====Directorio resources====
[[Archivo:resources.png]]
+
[[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:storage.png]]
+
[[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:testDir.png]]
+
[[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.

EstructuraDirectoriosFicheros.png


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.

ListadoLaravel 5 8.png

  • 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

LaravelApp 5 8.png

  • 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.

LaravelBootstrap 5 8.png

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.

LaravelConfig 5 8.png

Directorio database

LaravelDatabase 5 8.png

  • 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

LaravelPublic 5 8.png

  • 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
  1. index.php (Fichero de entrada para el ciclo de vida de una app en laravel)
  • favico.ico
  • .htacess
  • robots.txt

Directorio resources

LaravelResources 5 8.png

  • 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

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

LaravelStorage 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 test

LaravelTest 5 8.png

Directorio vendor

Vendor.png

  • 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).



https://www.youtube.com/watch?v=KWsEL45qeyQ