
dotenv4delphiは、Delphi/Lazarusで.ENVファイルを使用するライブラリです。また、環境変数を非常に簡単で高速な方法で取得することもできます。
dotenv4delphiの最新バージョンは1.4.0です
実装された新機能:
app . listen ( process . env . PORT || 3000 ) ;THorse.Listen(DotEnv.PortOrDefault( 3000 ));より多くの機能が登場し、問題ページで新機能のリクエストを歓迎します。
dotenv4delphiを使用できるようにするには、libをインストールする必要があります。それを行うための2つの簡単な方法があります。まず、dotenv4delphi.pasユニットをSRCフォルダーからプロジェクトのソースフォルダーにコピーできます。
別の方法は、パッケージマネージャーのボスを使用することです。そうする場合は、プロジェクトのフォルダーを開き、Bossを初期化し( boss initで実行できます)、次のコマンドラインを使用してプロジェクトの依存関係としてdtoenv4delphiを取得できます。
boss install https://github.com/rafael-figueiredo-alves/DotEnv4Delphiユニットをインストールした後(ファイルをコピーするか、ボスを使用して依存関係としてインストールして)、dotenv4delphiの使用を開始するには、使用条項でdotenv4delphi.pasユニットを宣言する必要があります。 Singleton Patternを使用するため、データベースモジュールやREST APIからデータを取得するクラスユニットなど、変数を取得する必要があるユニット(またはユニット)にユニットを配置することをお勧めします。
AppDataのような環境変数(App Dataのパスを取得)の値を取得したい場合は、関数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));A.ENVファイルから変数から値を取得することは、ケーキです。システム変数を取得することから学んだのと同じことをする必要があります。
Memo1.Lines.Add(DotEnv.Env( ' MeuNome ' ));上記の例では、システム環境変数に「Meunome」と呼ばれる変数がないため、ライブラリは、アプリの実行可能ファイルと同じフォルダーに(アプリと同じフォルダーに)保存する必要がある.ENVファイルから取得しようとします。 .ENVファイルがない場合、上記のコードは空の文字列を返します。 Tenvvar Enumを使用することもできますが、ライブラリは最初にシステムでデフォルトで検索することを覚えておく必要がありますが、Bellowを学習するにつれて変更できます。
.envファイル(別名「Dotenv」)は、環境変数をエクスポートした単純なバッシュファイルから派生した形式でキー値ペアを保存します。
この実装は、元のDotenvパッケージで説明されている形式に密接に切断しますが、直接的な一致ではありません(設計による)。
通常、dotenv( .env )ファイルは、単純なキー価値ペアにフォーマットされます。
S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE携帯性(および正気)のために、環境変数名は文字、数字、およびアンダースコア( _ )のみで構成されている必要があり、数字から始めてはなりません。正規表現では、名前は次のパターンと一致する必要があります。
[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リポジトリに送信しないことです(そうしないでください)。それを行うには、.gitignoreに次の行を含めます。
# DotEnv environment variables during Development
.env
警告:.ENVがすでにGitリポジトリの一部である場合、.Gitignoreに追加しても削除されません。この場合、Tracking .ENVを停止するようにGITに指示する必要があります。
そのため、.env-exampleファイルを追加して、プロジェクトを機能させるために自分で実装するものを他の人に表示することを強くお勧めします。
.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およびおそらくLazarus以来、Delphiのあらゆるバージョンと互換性があると思います。オペレーティングシステムは、Delphi / Lazarusでサポートされているのと同じです。
dotenv4delphiバージョン1.4.0