
Dotenv4delphi - это библиотека для использования файлов .env в Delphi/Lazarus. Вы также можете получить переменные среды очень простым и быстрым способом.
Последняя версия Dotenv4delphi - 1.4.0
Реализованные новые функции:
app . listen ( process . env . PORT || 3000 ) ;THorse.Listen(DotEnv.PortOrDefault( 3000 ));Появляются дополнительные функции, и новые запросы на функции приветствуются на странице «Проблемы».
Чтобы иметь возможность использовать dotenv4delphi, вы должны установить LIB. Есть два простых способа сделать это. Во -первых, вы можете скопировать блок Dotenv4delphi.pas из папки SRC в папку вашего проекта.
Другой способ - использовать босса менеджера пакетов. Если вы это сделаете, вы можете просто открыть папку своего проекта, инициализировать Boss (вы можете сделать это с помощью boss init ), а затем использовать следующую командную строку, чтобы получить Dtoenv4delphi в качестве зависимости вашего проекта:
boss install https://github.com/rafael-figueiredo-alves/DotEnv4DelphiПосле установки устройства (копирования файла или использования босса для установки в качестве зависимости), чтобы начать использовать Dotenv4delphi, вам необходимо объявить устройство DotEnv4delphi.pas в предложении об использовании . Поскольку он использует Singleton Pattern, мы рекомендуем вам поместить устройство в устройство (или единицы), где вам нужно получить переменные, например, в модуле базы данных или в классе, который вы получаете данные от API REST.
Если вы хотите получить значение переменной среды, такой как AppData (вы получаете путь данных приложений), вы можете сделать это, используя функцию GetEnvironmentVariable('APPDATA') или, используя DotEnv4delphi, вы можете сделать это так же, как вы получите его из файла .env :
Memo1.Lines.Add(DotEnv.Env( ' appdata ' )); Из приведенного выше кода вы получаете переменную системной среды AppData и записываете ее значение в строке TMEMO. Итак, единственное, что вам нужно сделать, чтобы получить значение: DotEnv.Env('APPDATA'); Полем Он всегда возвращает строку, которая может быть пустой или нет, в зависимости от того, существует ли переменная или нет. Метод пытается прочитать переменную из системы, и, если он не найдет, он начинает искать ее в файле .env . Просто, не так ли?
Вы также можете воспользоваться преимуществом Tenvvar enum из блока Dotenv4delphi. Есть все переменные системной среды и некоторые дополнительные, которые обычно используются в файлах .env из примеров JavaScript. Посмотрите, как легко получить ценность:
Memo1.Lines.Add(DotEnv.Env(tenvVar.ALLUSERSPROFILE));или
Memo1.Lines.Add(DotEnv.Env(ALLUSERSPROFILE));Получение значений из переменных из файла .env - это кусок торта. Вам нужно только сделать то же самое, что вы узнали, получая системную переменную.
Memo1.Lines.Add(DotEnv.Env( ' MeuNome ' ));В приведенном выше примере, поскольку в переменных системной среды нет переменной, называемой «meunome», библиотека пытается получить ее из файла .env, который должен храниться в той же папке, что и исполняемый файл вашего приложения (в той же папке, что и ваше приложение). Если нет файла .env, приведенный выше код вернет пустую строку. Вы также можете использовать Enum Tenvvar, но вы должны помнить, что библиотека сначала ищет его в системе по умолчанию, но вы можете изменить его, как вы узнаете, что вы узнаете.
.env FILES (AKA "DOTENV") сохраняют пары клавиш в формате, произошедшем от простых файлов BASH, которые экспортировали переменные среды.
Эта реализация тесно связана с форматом, описанным оригинальным пакетом Dotenv, но она не является прямым совпадением (по дизайну).
Как правило, файл dotenv ( .env ) отформатируется в простые пары клавиш:
S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE Для портативности (и здравомыслия) имена переменных среды должны состоять исключительно из букв, цифр и подчеркивания ( _ ) и не должны начинаться с цифры. В списках regex имена должны соответствовать следующему шаблону:
[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 " Символ Hash-Tag # обозначает комментарий на своей собственной строке или когда он следует за цитируемым значением. Это не рассматривается как комментарий, когда он появляется в кавычках.
# 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 не удалит его. В этом случае вам также нужно сказать 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. То же самое относится и к тому же, если вы передаете пустую строку в путь, если вы хотите использовать путь по умолчанию.
Помните: вам не нужно использовать dotenv.config (), если вы не хотите менять путь или установить только для использования файла .env. И в любое время, когда вы используете эту строку, вы измените по умолчанию и предыдущую конфигурацию.
Я предполагаю, что библиотека Dotenv4delphi совместима с любой версией Delphi со времен Delphi XE2 и, вероятно, Lazarus. Операционные системы одинаково поддерживаются Delphi / Lazarus.
Dotenv4delphi версия 1.4.0