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

De WikiEducator
Saltar a: navegación, buscar
(Página creada con «===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...»)
 
(Estructura de directorios)
 
(23 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 +
__NOTOC__
 +
{{:Usuario:ManuelRomero/CertificadoWeb2021/Laravel/introduccion/nav}}
 +
 +
<br>
 +
{{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 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.
;Directorio Raiz
+
*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:listadoDirectorios.png]]
+
 
 +
[[Archivo: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.
 +
[[Archivo: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
 +
[[Archivo: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
 
;Directorio bootstrap
[[Archivo:bootstrapDir.png]]
+
*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.
 +
 
 +
[[Archivo:LaravelBootstrap_5_8.png]]
 
;Directorio config
 
;Directorio config
[[Archivo:configDir.png]]
+
*Es el directorio donde se ubican los ficheros de configuración
;Directorio database
+
*Es un directorio importante donde tendremos que ir en varias ocasiones
[[Archivo:databaseDir.png]]
+
*La configuración de la aplicación estará en '''''app.php'''''
;Directorio public
+
*La configuración de la/s base/s  de datos que tengamos en nuestra aplicación en databas.php.
[[Archivo:public.png]]
+
*La autentificación en auth.php
;Directorio resources
+
*Otros aspectos como vistas, sesiones, mail, cache.
[[Archivo:resources.png]]
+
[[Archivo:laravelConfig_5_8.png]]
;Directorio storage
+
 
[[Archivo:storage.png]]
+
====Directorio database====
;Directorio test
+
[[Archivo:laravelDatabase_5_8.png]]
[[Archivo:test.png]]
+
*Contiene los ficheros para gestionar lo que es la adminstración de bases de datos desde el propio proyecto de laravel.
;Directorio vendor
+
*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====
 +
[[Archivo: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
 +
#index.php (Fichero de entrada para el ciclo de vida de una app en laravel)
 +
*favico.ico
 +
*.htacess
 +
*robots.txt
 +
====Directorio resources====
 +
[[Archivo: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====
 +
[[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====
 +
[[Archivo: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====
 +
[[Archivo:laravelTest_5_8.png]]
 +
 
 +
====Directorio vendor====
 
[[Archivo:vendor.png]]
 
[[Archivo: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

Ú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