Ahora que tenemos un Laravel nuevo y en funcionamiento, veamos qué hay dentro...
Carpeta de aplicaciones
Esta carpeta contiene los elementos esenciales de la aplicación:
Consola : todos los comandos en modo consola,
Excepciones : para manejar errores de tiempo de ejecución,
Http : todo lo relacionado con la comunicación: controladores, middlewares (existen 7 middlewares básicos que se usan para filtrar solicitudes HTTP) y el kernel,
Proveedores : todos los proveedores de servicios (proveedores), ya hay 5 al principio. Los proveedores se utilizan para inicializar componentes.
Modelos : la carpeta de modelos con un regalo que preocupa a los usuarios.
Obviamente, todo esto debe parecerle bastante confuso en este momento, pero veremos estos elementos en detalle a lo largo del curso. Y también veremos que se crearán muchos otros archivos según nuestras necesidades.
Otros archivos
Aquí hay una descripción del contenido de las otras carpetas:
bootstrap : secuencias de comandos de inicio de Laravel para cargar clases automáticamente, configurar el entorno y las rutas, y para iniciar la aplicación,
public : todo lo que debe aparecer en la carpeta pública del sitio: imágenes, CSS, scripts, etc.
config : todas las configuraciones: aplicación, autenticación, caché, base de datos, espacios de nombres, correos electrónicos, sistemas de archivos, sesión...
database : migraciones y poblaciones,
resources : vistas, archivos de idioma y activos (por ejemplo, archivos Sass),
routes : gestión de URL de entrada de aplicaciones,
storage : datos temporales de la aplicación: vistas compiladas, cachés, claves de sesión, etc.
tests : archivos de prueba de unidad,
vendor: todos los componentes de Laravel y sus dependencias (creado por composer).
Archivos raíz
Hay una serie de archivos en la raíz, los principales son:
artisan : herramienta Laravel en línea para tareas de gestión,
composer.json : archivo de referencia del compositor,
package.json : archivo de referencia npm para activos,
phpunit.xml : archivo de configuración de phpunit (para pruebas unitarias),
.env : archivo para especificar el entorno de ejecución.
Accesibilidad
Por razones de seguridad en el servidor, solo la carpeta public debe ser accesible:
Esta configuración no siempre es posible en un servidor compartido, por lo que hay que modificar un poco Laravel para que funcione.
Carpetas
Public
Esta es la carpeta más importante ya que es donde se ponen todos los archivos que el cliente va a mostrar al usuario cuando introducimos la URL de nuestro sitio web. Normalmente se carga el archivo index.php por defecto.
Routes
Otra de las carpetas que más vamos a usar a lo largo de este curso de Laravel. En ella se albergan todas las rutas (redirecciones web) de nuestro proyecto, pero más concretamente en el archivo web.php
Dada una ruta → se cargará una vista
Resources
Esta es nuestra carpeta de recursos donde guardaremos los siguientes archivos, que también, están separados por sus carpetas... como cada nombre indica:
css Archivos CSS
js Archivos JS (JavaScript)
lang Archivos relacionados con el idioma del sitio (variables & strings)
views Archivos de nuestras vistas, lo que las rutas cargan
Entorno y mensajes de error
Por defecto, cuando instalas Laravel, está en modo de "depuración" y tendrás una descripción precisa de todos los errores. Por ejemplo, abra el archivo route/web.php y cambie el código de la siguiente manera:
Route::post('/', function () {
return view('welcome');
});
Abra la URL base, obtendrá una página de error con esta información en particular:
Durante la fase de desarrollo necesitamos recibir mensajes explícitos para rastrear los errores inevitables que vamos a cometer. En modo “producción” tendrás que cambiar este modo, para hacer esto abre el archivo config/app.php y encuentra esta línea:
'debug' => (bool) env('APP_DEBUG', false),
En otras palabras, buscamos valor en el entorno, pero ¿dónde podemos encontrarlo? Mira la raíz de las carpetas, allí encuentras el archivo .env con este contenido:
Observe que en este archivo la variable APP_DEBUG se establece en true . Lo mantendremos así ya que queremos estar en modo de "depuración". Por lo tanto, está en modo de depuración con visualización de mensajes de error detallados. Si lo establece en falso (o lo elimina), con una URL no deseada, ahora solo obtiene:
¡Obviamente, no debe dejar el valor verdadero al entrar en producción! Hablaremos de eso cuando veamos la gestión ambiental. Ya no te arriesgarás a olvidar cambiar este valor porque Laravel sabrá si estás en tu servidor de desarrollo o en el de producción.
Por otro lado existe un archivo que recolecta errores (Log), no existe durante la instalación pero se crea al primer error reportado. Así que vamos a crear uno. Aún en el archivo route/web.php , modifica el código de la siguiente manera:
Route::get('/', function () {
returnview('welcofme');
});
Cambiamos el nombre de la vista, por lo que no existe (hablaremos de las vistas más adelante, por supuesto). Ahora se ha creado un archivo de registro aquí:
Puedes leer allí:
[ 2022 - 01 - 14 16:08:05 ] local ._ _ _ _ ERROR : Ver [ bienvenido ] no encontrado. { "excepción" : " [ objeto ] ( InvalidArgumentException ( código: 0 ) : Ver [ bienvenido ] no encontrado. en...
De forma predeterminada, solo hay un archivo, pero si prefiere tener un archivo por día, por ejemplo, simplemente agregue esta línea al archivo .env :
LOG_CHANNEL=diario
Del mismo modo, por defecto, Laravel almacena todos los errores. Esto es práctico en la fase de desarrollo, pero en producción puede limitar el nivel de gravedad de los errores retenidos (modo de depuración), por ejemplo, si está satisfecho con las advertencias:
LOG_LEVEL=advertencia
El valor APP_KEY que protege la información se genera automáticamente durante la instalación con create-project .
En resumen
Para su instalación y actualización Laravel utiliza el administrador de dependencias composer .
La creación de una aplicación Laravel se realiza desde la consola con una simple línea de comando.
Laravel está organizado en varias carpetas.
La carpeta pública es la única a la que debe tener acceso el cliente.
El entorno se establece mediante el archivo .env .
Por defecto, Laravel está en modo de "depuración" con visualización de todos los errores.