
O dotenv4delphi é uma biblioteca para usar arquivos .env em delphi/lazarus. Você também pode obter variáveis de ambiente de uma maneira muito fácil e rápida.
A versão mais recente de Dotenv4Delphi é 1.4.0
Novos recursos implementados:
app . listen ( process . env . PORT || 3000 ) ;THorse.Listen(DotEnv.PortOrDefault( 3000 ));Mais recursos estão chegando e novas solicitações de recursos são bem -vindas na página de questões.
Para poder usar o dotenv4delphi, você deve instalar o LIB. Existem duas maneiras simples de fazer isso. Primeiro, você pode copiar a unidade dotenv4delphi.pas da pasta SRC para a pasta de origem do seu projeto.
Outra maneira é usar o chefe do gerenciador de pacotes. Se você fizer isso, você pode simplesmente abrir a pasta do seu projeto, inicializar o chefe (você pode fazê -lo com boss init ) e depois usar a seguinte linha de comando para obter DTOenv4delphi como uma dependência do seu projeto:
boss install https://github.com/rafael-figueiredo-alves/DotEnv4DelphiDepois de instalar a unidade (copiando o arquivo ou usando o chefe para instalá -lo como uma dependência), para começar a usar o dotenv4delphi, você precisa declarar a unidade dotenv4delphi.pas na cláusula de uso . Como ele usa o padrão de singleton, recomendamos que você coloque a unidade na unidade (ou unidades), onde precisará obter variáveis, como em um módulo de banco de dados ou em uma unidade de classe que você obtém dados de uma API REST.
Se você deseja obter o valor de uma variável de ambiente como o AppData (você obtém o caminho dos dados do aplicativo), pode fazê -lo usando a função GetEnvironmentVariable('APPDATA') ou, usando o DOTENV4Delphi, pode fazê -lo da mesma maneira que obtê -lo de um arquivo .env :
Memo1.Lines.Add(DotEnv.Env( ' appdata ' )); A partir do código acima, você obtém a variável de ambiente do sistema AppData e escreve seu valor em uma linha TMEMO. Portanto, a única coisa que você precisa fazer para obter o valor é: DotEnv.Env('APPDATA'); . Ele sempre retorna uma string que pode estar vazia ou não, dependendo se a variável existir ou não. O método tenta ler a variável do sistema e, se não o encontrar, começa a procurá -lo no arquivo .env . Simples, não é?
Você também pode aproveitar a enumeração de tenvvar da unidade dotenv4delphi. Existem todas as variáveis de ambiente do sistema e algumas extras que são comumente usadas em arquivos .env dos exemplos JavaScript. Veja como é fácil obter o valor:
Memo1.Lines.Add(DotEnv.Env(tenvVar.ALLUSERSPROFILE));ou
Memo1.Lines.Add(DotEnv.Env(ALLUSERSPROFILE));Obter valores de variáveis de um arquivo .env é um pedaço de bolo. Você só precisa fazer o mesmo que aprendeu ao obter uma variável do sistema.
Memo1.Lines.Add(DotEnv.Env( ' MeuNome ' ));No exemplo acima, como não há uma variável chamada "Meunome" nas variáveis do ambiente do sistema, a biblioteca tenta obtê -la de um arquivo .env que deve ser armazenado na mesma pasta que o arquivo executável do seu aplicativo (na mesma pasta que seu aplicativo). Se não houver um arquivo .env, o código acima retornará uma string vazia. Você também pode usar a enumeração de tenvvar, mas lembre -se de que a biblioteca o procura primeiro no sistema por padrão, mas você pode alterá -lo à medida que aprenderá abaixo.
Os arquivos .env (também conhecidos como "dotenv") armazenam pares de valor-chave em um formato descendente de arquivos bash simples que exportavam variáveis de ambiente.
Essa implementação cliva de perto o formato descrito pelo pacote DOTENV original, mas não é uma correspondência direta (por design).
Normalmente, um arquivo dotenv ( .env ) é formatado em pares simples de valor-chave:
S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE Por uma questão de portabilidade (e sanidade), os nomes das variáveis de ambiente devem consistir apenas em letras, dígitos e o sublinhado ( _ ) e não devem começar com um dígito. Em Speak Regex, os nomes devem corresponder ao seguinte padrão:
[a-za-z _]+[a-za-z0-9 _]*
Os valores estão à direita do sinal igual. Eles podem ser citados. O uso de cotações únicas ou duplas impedirá que as variáveis sejam interpoladas.
SIMPLE=xyz123
INTERPOLATED= " MultiplenLines and variable substitution: ${SIMPLE} "
NON_INTERPOLATED='raw text without variable interpolation'Os valores deixados não citados interpolarão variáveis na sintaxe $ {var}. Isso pode ser útil para referenciar variáveis de ambiente do sistema existente ou de referência a variáveis anteriormente analisadas.
Por exemplo:
USER=admin
EMAIL=${USER} @ example.orgSe seus valores devem reter $ {} em sua saída, envolva o valor em citações únicas ou duplas, por exemplo:
PASSWORD='! @ G0${k}k'
PASSWORD_API= " !@G0${k}k " O símbolo de hash-tag # indica um comentário quando está em sua própria linha ou quando segue um valor citado. Não é tratado como um comentário quando aparece dentro das citações.
# This is a comment
SECRET_KEY=YOURSECRETKEYGOESHERE # also a comment
SECRET_HASH= " something-with-a-hash-#-this-is-not-a-comment " Uma coisa boa nos arquivos .env é que você não (e não deve) enviá -los para o seu repo do github. Para fazer isso, inclua a seguinte linha no .gitignore:
# DotEnv environment variables during Development
.env
AVISO: Se o seu .ENV já fizer parte do seu repositório Git, adicionar -o ao .gitignore não o removerá. Nesse caso, você também precisará dizer ao Git para parar de rastrear .env.
Por causa disso, é fortemente recomendado adicionar um arquivo .env-Exemplo para mostrar aos outros o que eles devem implementar por seus próprios arquivos .env para fazer seu projeto funcionar.
Para definir um caminho diferente para o arquivo .env, basta usar o seguinte comando:
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemoWin32Debug.env');
ou
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemo.env');
Em alguns casos, você precisa apenas obter variáveis do seu arquivo .env. Nesse caso, você pode usar a seguinte linha:
DotEnv.Config(True);
Se você deseja definir um caminho diferente e também definir apenas variáveis, inclua a seguinte linha:
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemo.env', True);
Se você definir como false, usará as duas variáveis do ambiente do sistema e as variáveis de arquivo .env. O mesmo se aplica se você passar uma string vazia para o caminho, se desejar usar o caminho padrão.
Lembre -se: você não precisa usar dotenv.config () se não quiser alterar o caminho ou definir para usar apenas o arquivo .env. E sempre que você usa esta linha, você altera a configuração padrão e anterior.
Eu acho que a biblioteca dotenv4delphi é compatível com qualquer versão do Delphi desde Delphi Xe2 e provavelmente Lazarus também. Os sistemas operacionais são os mesmos suportados por Delphi / Lazarus.
Dotenv4delphi versão 1.4.0