
Dotenv4delphi는 Delphi/Lazarus에서 .env 파일을 사용하는 라이브러리입니다. 매우 쉽고 빠른 방식으로 환경 변수를 얻을 수도 있습니다.
dotenv4delphi의 최신 버전은 1.4.0 입니다
구현 된 새로운 기능 :
app . listen ( process . env . PORT || 3000 ) ;THorse.Listen(DotEnv.PortOrDefault( 3000 ));더 많은 기능이 다가오고 있으며 새로운 기능 요청이 문제 페이지에서 환영합니다.
dotenv4delphi를 사용할 수 있으려면 lib를 설치해야합니다. 이를 수행하는 두 가지 간단한 방법이 있습니다. 먼저, src 폴더에서 프로젝트 소스 폴더로 dotenv4delphi.pas 단위를 복사 할 수 있습니다.
또 다른 방법은 패키지 관리자 보스를 사용하는 것입니다. 그렇게하면 프로젝트의 폴더를 열고 BOSS를 초기화 한 다음 ( boss init 로 수행 할 수 있음) 다음 명령 줄을 사용하여 DTOENV4DELPHI를 프로젝트의 종속성으로 가져올 수 있습니다.
boss install https://github.com/rafael-figueiredo-alves/DotEnv4Delphi장치를 설치 한 후 (파일을 복사하거나 보스를 사용하여 종속성으로 설치 함) dotenv4delphi를 사용하려면 사용 절 에서 dotenv4delphi.pas 단위를 선언해야합니다. 싱글 톤 패턴을 사용하므로 데이터베이스 모듈이나 REST API에서 데이터를 얻는 클래스 장치와 같은 변수를 가져와야하는 장치 (또는 장치)에 장치를 넣는 것이 좋습니다.
AppData (앱 데이터의 경로를 얻음)와 같은 환경 변수의 값을 얻으려면 GetEnvironmentVariable('APPDATA') 기능을 사용하여 Dotenv4Delphi를 사용하여 .env 파일에서 얻는 것과 같은 방식으로 수행 할 수 있습니다.
Memo1.Lines.Add(DotEnv.Env( ' appdata ' )); 위의 코드에서 시스템 환경 변수 AppData를 얻고 TMEMO 라인에 그 값을 작성합니다. 따라서 값을 얻기 위해해야 할 유일한 것은 다음과 같습니다. DotEnv.Env('APPDATA'); . 변수가 존재하는지 여부에 따라 항상 비어있을 수있는 문자열을 반환합니다. 이 메소드는 시스템에서 변수를 읽으려고하며, 찾지 못하면 .env 파일에서 찾기 시작합니다. 단순하지 않습니까?
Dotenv4delphi 장치의 Tenvvar Enum에서 활용할 수도 있습니다. 모든 시스템 환경 변수가 있으며 일부 추가 기능은 JavaScript 예제의 .env 파일에 일반적으로 사용됩니다. 가치를 얻는 것이 얼마나 쉬운 지 확인하십시오.
Memo1.Lines.Add(DotEnv.Env(tenvVar.ALLUSERSPROFILE));또는
Memo1.Lines.Add(DotEnv.Env(ALLUSERSPROFILE));.env 파일 에서 변수에서 값을 얻는 것은 케이크 조각입니다. 시스템 변수를 얻을 때 배운 것과 동일하게 수행하면됩니다.
Memo1.Lines.Add(DotEnv.Env( ' MeuNome ' ));위의 예에서 시스템 환경 변수에는 "Meunome"이라는 변수가 없으므로 라이브러리는 앱의 실행 파일과 동일한 폴더에 저장 해야하는 .env 파일에서 가져 오려고합니다 (앱과 동일한 폴더). .env 파일이없는 경우 위의 코드는 빈 문자열을 반환합니다. 또한 Tenvvar Enum을 사용할 수 있지만 라이브러리는 먼저 기본적으로 시스템에서이를 찾는 것을 기억해야하지만 Bellow를 배우면 변경할 수 있습니다.
.env 파일 (일명 "dotenv") 키 값 쌍을 환경 변수를 내보낸 간단한 배쉬 파일에서 내려온 형식으로 저장합니다.
이 구현은 원래 Dotenv 패키지에 의해 설명 된 형식과 밀접한 관련이 있지만 디자인 별 직접 일치하지는 않습니다.
일반적으로 dotenv ( .env ) 파일은 간단한 키 값 쌍으로 형식화됩니다.
S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE 이식성 (및 정신적)을 위해서는 환경 변수 이름은 문자, 자리 및 밑줄 ( _ )으로만 구성되어야하며 숫자로 시작해서는 안됩니다. Regex-Speak에서 이름은 다음 패턴과 일치해야합니다.
[a-za-z _]+[a-za-z0-9 _]*
값은 평등 부호의 오른쪽에 있습니다. 그들은 인용 될 수 있습니다. 단일 또는 이중 인용문을 사용하면 변수가 보간되지 않도록합니다.
SIMPLE=xyz123
INTERPOLATED= " MultiplenLines and variable substitution: ${SIMPLE} "
NON_INTERPOLATED='raw text without variable interpolation'인용되지 않은 남은 값은 $ {var} 구문에 변수를 보간합니다. 이는 기존 시스템 환경 변수를 참조하거나 이전에 구문 분석 한 변수를 참조하는 데 유용 할 수 있습니다.
예를 들어:
USER=admin
EMAIL=${USER} @ example.org값이 출력에 $ {}을 유지 해야하는 경우 값을 단일 또는 이중 인용문으로 감싸십시오.
PASSWORD='! @ G0${k}k'
PASSWORD_API= " !@G0${k}k " 해시-태그 # 기호는 자체 라인에 있거나 인용 된 값을 따를 때 주석을 나타냅니다. 인용문 내에 나타날 때 의견으로 취급되지 않습니다.
# This is a comment
SECRET_KEY=YOURSECRETKEYGOESHERE # also a comment
SECRET_HASH= " something-with-a-hash-#-this-is-not-a-comment " .env 파일의 좋은 점은 Github Repo에 보내지 않아야한다는 것입니다. 이를 위해 .gitignore에 다음 줄을 포함하십시오.
# DotEnv environment variables during Development
.env
경고 : .env가 이미 Git 저장소의 일부인 경우 .gitignore에 추가하면 제거하지 않습니다. 이 경우 git에 .env 추적을 중지하도록 지시해야합니다.
이 때문에 .env-example 파일을 추가하여 다른 사람들에게 프로젝트를 작동시키기 위해 자신의 .env 파일로 구현 해야하는 것을 보여주는 것이 좋습니다.
.env 파일로 다른 경로를 설정하려면 다음 명령 만 사용하십시오.
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemoWin32Debug.env');
또는
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemo.env');
경우에 따라 .env 파일에서 변수를 가져와야합니다. 이 경우 다음 줄을 사용할 수 있습니다.
DotEnv.Config(True);
다른 경로를 설정하고 변수 만 가져 오도록 설정하려면 다음 줄 만 포함하십시오.
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemo.env', True);
False로 설정하면 시스템 환경 변수 및 .env 파일 변수를 모두 사용합니다. 기본 경로를 사용하려면 빈 문자열을 경로로 전달하는 경우에도 동일하게 적용됩니다.
기억하십시오 : 경로를 변경하지 않거나 .env 파일 만 사용하도록 설정하지 않으려면 dotenv.config ()를 사용할 필요가 없습니다. 이 줄을 사용할 때마다 기본 구성 및 이전 구성을 변경합니다.
DoTenv4delphi 라이브러리는 Delphi XE2와 아마도 나사로 이후 델파이 버전과 호환되는 것 같습니다. 운영 체제는 Delphi / Lazarus가 지원하는 것과 동일합니다.
dotenv4delphi 버전 1.4.0