lumenのEnvプロファイルの概要と適用シーン

2221 ワード

lumenはlaravelの派生品であり、コア機能の使用とlaravelは一致しているが、プロファイルの面では、lumenはlaravelに基づいてより簡便な構成方式を追加した.lumenはDotEnvで読み取る.Envファイルは、デフォルトの構成方法として使用されます.Envは配置を簡略化するとともに、自然に存在しない.php配置ファイルはそんなに自由で、私は初期に完璧な中国語の資料を見つけていません.いくつかの穴を踏んだ後、自分で整理することにしました.
.envプロファイル適用範囲
.envファイルの主な役割は、データベースのユーザー名、パスワード、キャッシュドライバ、タイムゾーン、静的ファイルのストレージパスなど、環境変数を格納することです.これらの情報は環境にバインドすべきであり、コードの更新に伴って変化すべきではないため、一般的には.Envファイルはバージョン管理に格納されます.
環境にバインドされた環境変数に加えて、セキュリティ係数が高い場合があり、バージョン制御に組み入れたくない情報も入る.Envファイル、例えばサードパーティAPIのsecretなど;
あまり当てはまらない内容
厳密には、従来の構成情報、例えばアップロードファイルのサイズ制限、あるいはアルゴリズムのしきい値などは、実際には置くには適していない.Envファイルでは、これらの構成項目はコードとともに更新され、すべての環境で一致するはずです.バージョン管理ツールで管理できるプロファイルに配置するのが適切です.そう言えば......lumenを使用するときもよく配置します.Env(これは多分良い習慣ではないでしょうが)、結局これらの構成項目が少ないと、単独で構成ファイルを作るのも少し値打ちがない感じがしますが...
.envの基本構文
文法といっても…本当に簡単です
.envのデータは行ごとに区分され、各データは1行を占め、データの間に任意に多くの空の行があることができる.各データの核心は等号であり、等号の左側はkeyであり、右側はvalueである.
KEY1=value1
KEY2=value2

KEY3=value3
KEY4=value4

keyの前後とvalueの前後に任意の複数のスペースを追加できます.読み取り時に前後のスペースが自動的に除去されます.たとえば、次のような構成項目があります.
   KEY   =    value

PHPで読み込むと自動的にスペースが抜けます
echo env('KEY') === 'value'; //true

keyまたはvalueにスペースが含まれている場合は、両端に二重引用符を付ける必要があります.たとえば、次のようにします.
"TEST KEY" = "test value"

コメントを追加する必要がある場合は、#を使用します.たとえば、次のようにします.
#      
KEY=value #      

ネスト変数が必要な場合は、直接Envには、公式の例を借りると書かれています.
BASE_DIR="/var/webroot/project-root"
CACHE_DIR="${BASE_DIR}/cache"
TMP_DIR="${BASE_DIR}/tmp"

.envが格納できるコンテンツ
前の文で言いました.Envは非常に簡単なプロファイルですが、どの程度簡単ですか?1次元K/V形式の構成項目のみをサポートし、keyとvalueは文字列のみです.
リストを保存したいならどうしますか?
ある时、私达はプロファイルの中で1つのリストを保存する必要があります.例えば、支払いプラットフォームがwebhookを呼び出す时、固定的なIPアドレスからしか発起しません.それでは、私达は安全性のために、これらのIPアドレスを1つの白いリストに入れて、毎回ソースIPがリストの中にあるかどうかを検証します.このような白いリストは保存する方法がある.Env中ですか?直接貯金できないとしか言いようがない.Envは簡単です.valueは文字列しかありませんが、接続子(例えば、半角カンマ,)を使用してホワイトリストアドレスを文字列につづり、使用時に分割してみましょう.
WHITE_LIST=192.168.0.1,192.168.0.2,192.168.0.3

転載先:https://www.cnblogs.com/Eden-cola/p/DotEnv-in-lumen.html