
Dotenv4delphi es una biblioteca para usar archivos .env en Delphi/Lazarus. También puede obtener variables de entorno de una manera muy fácil y rápida.
La última versión de Dotenv4Delphi es 1.4.0
Nuevas características implementadas:
app . listen ( process . env . PORT || 3000 ) ;THorse.Listen(DotEnv.PortOrDefault( 3000 ));Se acercan más funciones y las nuevas solicitudes de funciones son bienvenidas en la página de problemas.
Para poder usar el dotenv4delphi, debe instalar la lib. Hay dos formas simples de hacerlo. Primero, puede copiar la unidad dotenv4delphi.pas de la carpeta SRC a la carpeta fuente de su proyecto.
Otra forma es usar el jefe de Administrador de paquetes. Si lo hace, simplemente puede abrir la carpeta de su proyecto, inicializar el jefe (puede hacerlo con boss init ) y luego usar la siguiente línea de comandos para obtener dtoenv4delphi como dependencia de su proyecto:
boss install https://github.com/rafael-figueiredo-alves/DotEnv4DelphiDespués de instalar la unidad (copiando el archivo o utilizando el jefe para instalarlo como dependencia), para comenzar a usar el dotenv4delphi, debe declarar la unidad dotenv4delphi.pas en la cláusula de usos . Dado que usa el patrón Singleton, le recomendamos que coloque la unidad en la unidad (o unidades) donde necesitará obtener variables, como en un módulo de base de datos o en una unidad de clase que obtiene datos de una API REST.
Si desea obtener el valor de una variable de entorno como AppData (obtiene la ruta de los datos de la aplicación), puede hacerlo utilizando la función GetEnvironmentVariable('APPDATA') o, mediante el uso del dotenv4delphi, puede hacerlo de la misma manera que lo obtendrá de un archivo .env :
Memo1.Lines.Add(DotEnv.Env( ' appdata ' )); Desde el código anterior, obtiene la variable de entorno del sistema AppData y escribe su valor en una línea TMEMO. Entonces, lo único que tiene que hacer para obtener el valor es: DotEnv.Env('APPDATA'); . Siempre devuelve una cadena que puede estar vacía o no, dependiendo de si la variable existe o no. El método intenta leer la variable del sistema y, si no lo encuentra, comienza a buscarla en el archivo .env . Simple, ¿no?
También puede aprovechar el enum de Tenvvar de la unidad dotenv4delphi. Hay todas las variables de entorno del sistema y algunos extra que se usan comúnmente en archivos .env de ejemplos de JavaScript. Vea lo fácil que es obtener el valor:
Memo1.Lines.Add(DotEnv.Env(tenvVar.ALLUSERSPROFILE));o
Memo1.Lines.Add(DotEnv.Env(ALLUSERSPROFILE));Obtener valores de las variables de un archivo .env es un pedazo de pastel. Solo tiene que hacer lo mismo que aprendió al obtener una variable del sistema.
Memo1.Lines.Add(DotEnv.Env( ' MeuNome ' ));En el ejemplo anterior, dado que no hay una variable llamada "Meunome" en las variables de entorno del sistema, la biblioteca intenta obtener de un archivo .env que debe almacenarse en la misma carpeta que el archivo ejecutable de su aplicación (en la misma carpeta que su aplicación). Si no hay un archivo .env, el código anterior devolverá una cadena vacía. También puede usar el tenvvar enum, pero debe recordar que la biblioteca primero la busca en el sistema de forma predeterminada, pero puede cambiarlo a medida que aprende a continuación.
Los archivos .env (también conocidos como "dotenv") almacenan pares de valores clave en un formato descendido de archivos bash simples que exportaron variables de entorno.
Esta implementación se escinde estrechamente al formato descrito por el paquete Dotenv original, pero no es una coincidencia directa (por diseño).
Por lo general, un archivo dotenv ( .env ) se formateado en pares de valor clave simples:
S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE En aras de la portabilidad (y la cordura), los nombres de las variables de entorno deben consistir únicamente en letras, dígitos y el subrayador ( _ ) y no deben comenzar con un dígito. En Regex-speak, los nombres deben coincidir con el siguiente patrón:
[A-ZA-Z _]+[A-ZA-Z0-9 _]*
Los valores son a la derecha del signo igual. Se pueden citar. El uso de cotizaciones simples o dobles evitará que las variables se interpolan.
SIMPLE=xyz123
INTERPOLATED= " MultiplenLines and variable substitution: ${SIMPLE} "
NON_INTERPOLATED='raw text without variable interpolation'Los valores dejados sin cotización interpolarán variables en la sintaxis $ {var}. Esto puede ser útil para hacer referencia a las variables de entorno del sistema existentes o para referir variables previamente analizadas.
Por ejemplo:
USER=admin
EMAIL=${USER} @ example.orgSi sus valores deben retener $ {} en su salida, envuelva el valor en cotizaciones individuales o dobles, por ejemplo:
PASSWORD='! @ G0${k}k'
PASSWORD_API= " !@G0${k}k " El símbolo de hash-tag # denota un comentario cuando está en su propia línea o cuando sigue un valor citado. No se trata como un comentario cuando aparece dentro de las citas.
# This is a comment
SECRET_KEY=YOURSECRETKEYGOESHERE # also a comment
SECRET_HASH= " something-with-a-hash-#-this-is-not-a-comment " Lo bueno de los archivos .env es que no (y no debe) enviarlos a su repositorio de GitHub. Para hacerlo, incluya la siguiente línea en .Gitignore:
# DotEnv environment variables during Development
.env
ADVERTENCIA: Si su .env ya es parte de su repositorio Git, agregándolo a .Gitignore no lo eliminará. En este caso, también deberá decirle a GIT que deje de rastrear .env.
Debido a esto, se recomienda agregar un archivo .env-ejemplos para mostrar a otros lo que deben implementar por sus propios archivos .env para que su proyecto funcione.
Para establecer una ruta diferente al archivo .env, simplemente use el siguiente comando:
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemoWin32Debug.env');
o
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemo.env');
En algunos casos, solo debe obtener variables de su archivo .env. En ese caso, puede usar la siguiente línea:
DotEnv.Config(True);
Si desea establecer una ruta diferente y también establecer solo para obtener variables, solo incluya la siguiente línea:
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemo.env', True);
Si se establece en False, usará ambas variables de entorno del sistema y variables de archivo .env. Lo mismo se aplica si pasa una cadena vacía a la ruta si desea usar la ruta predeterminada.
Recuerde: no necesita usar dotenv.config () si no desea cambiar la ruta o establecer solo para usar el archivo .env. Y cada vez que use esta línea, cambiará la configuración predeterminada y anterior.
Supongo que la biblioteca Dotenv4Delphi es compatible con cualquier versión de Delphi desde Delphi XE2 y probablemente Lázaro también. Los sistemas operativos son los mismos compatibles con Delphi / Lazarus.
Dotenv4delphi versión 1.4.0