Siempre tenemos prisa y queremos desarrollarnos lo más rápido posible, y a menudo terminamos adoptando viejos hábitos y creando software antiguo, un elemento que podemos mejorar mucho es esta pequeña cosa llamada medio ambiente, entendamos un poco más sobre eso.
Primero que nada, me gustaría mostrar aquí el enfoque en el concepto de configuraciones para laravel, no me preocuparé por los patrones restantes, como recursos u otros por el estilo.
1 - ¡Busquemos el conocimiento!
Hace un tiempo escuché que no podía hacer este pase ENV dentro de mis códigos locos, pensé; Guau
Entonces el propósito es entender las razones, porque de esta manera podemos tomar mejores decisiones como ingenieros.
1.1 - ¿Forma correcta o punto de vista?
Vamos, pequeño futuro maestro, pongamos un valor en una variable de entorno para que podamos jugar, así que llamémoslo:
Vamos al primer punto, gran decisión colocar esta configuración como variable de entorno, de esta manera haces todo más fácil para gestionar diferentes entornos (Producción, aprobación, ¿Si tienes uno?) y mucho más seguro, porque este valor no quedará expuesto cuando hagas ese travieso git push en tu repositorio (git/bitbucket), ¿te imaginas que tu secreto del agua se filtre en Internet? Qué triste
.Y para recuperar este valor en Laravel podemos usar el método env() o también usar otro paquete como Support de Illuminate (me recuerda a los minions, no sé por qué?)
env: Laravel Helper (que usa Env::get)
Env::get: Clase Env del paquete Support Illuminate
Vaya, está listo, entonces ¿por qué seguir inventando moda? La verdad es que esto no es buena idea, pronto te explicaré por qué, quédate conmigo.
Para la solución diferente, podemos mencionar los archivos de configuración que recuperarán el valor del entorno creado, por lo que el archivo de configuración está centralizado y ¡vamos, en serio! mucho mejor para leer código.
En esta situación específica ya puedes usar el archivo de configuración existente, llamado services.php, pero nada te impide crear un archivo para tu contexto específico.
En la ruta config/services.php
Y así lo llamaremos en el código de la siguiente manera:
2 - Genial, pero ¿por qué debería usar configuraciones para recuperar variables y no solo buscarlas directamente?
Intentaré mostrar algunas razones:
2.1 - Mayor rendimiento y mejor uso de IO
Piensa en la siguiente situación, ¿tienes archivos en producción a los que se accederá todo el tiempo, realizando una E/S considerable, lo que aumentará los recursos de la máquina y, dependiendo de la situación, ralentizará el sistema? (Y créanme, hasta que realmente encuentren el problema, pasarán por cosas que cuestionarán todos sus conocimientos)
Cuando hablamos del entorno de producción, se recomienda almacenar en caché sus hermosos archivos de configuración, con Laravel puede usar craft
php artisan config:cache
Este hermoso comando toma todos los archivos de configuración y sus respectivos valores y los compila en un solo archivo php, lo que aumenta el rendimiento. Esto se debe a que los números IO se reducen a 1
Curiosidad: Cuando usas este comando, env() comienza a devolver NULL porque deshabilita esta función. Entonces, si de "Neida" un env() el tuyo dejó de funcionar, eso es todo.
Env() Realiza operaciones IO y son costosas y lentas.
Es mejor realizar esta operación una vez al comienzo de la aplicación en lugar de tener que realizar la operación cada vez que necesite un entorno.
2.2 - Organización y estandarización de la mejor manera posible
Puedes mantener fácilmente todas tus configuraciones como quieras. Puedes poner el nombre del perro que quieras, crear una carpeta y estructurar todos los arreglos como quieras también, esto hará que la estructura sea más limpia (usa con moderación)
Por ejemplo:
Mira esta clave:
y ahora mira esta clave:
En mi humilde opinión, el 1º es mucho mejor.
Y además, puedes tener tus configuraciones similares en el lugar correcto y centralizado sin tener que colocarlas "al azar" en tu código, y me gusta mucho esta idea de estructurar el array que tenga total sentido para la aplicación.
Y la orientación para nuevos desarrolladores es mucho más sencilla, ya que puedes indicarles dónde y cómo realizar una nueva configuración.
¡Mantenlo simple, sé la diferencia!
Gracias por todo hasta ahora.
Fuente:
Configuración de la documentación de Laravel 11
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3