
Dotenv4delphi adalah perpustakaan untuk menggunakan file .env di delphi/lazarus. Anda juga bisa mendapatkan variabel lingkungan dengan cara yang sangat mudah dan cepat.
Versi terbaru dotenv4delphi adalah 1.4.0
Fitur baru diimplementasikan:
app . listen ( process . env . PORT || 3000 ) ;THorse.Listen(DotEnv.PortOrDefault( 3000 ));Lebih banyak fitur yang akan datang dan permintaan fitur baru diterima di halaman masalah.
Untuk dapat menggunakan dotenv4delphi, Anda harus menginstal lib. Ada dua cara sederhana untuk melakukannya. Pertama, Anda dapat menyalin unit dotenv4delphi.pas dari folder SRC ke folder sumber proyek Anda.
Cara lain adalah dengan menggunakan bos manajer paket. Jika Anda melakukannya, Anda cukup membuka folder proyek Anda, inisialisasi bos (Anda dapat melakukannya dengan boss init ) dan kemudian menggunakan baris perintah berikut untuk mendapatkan dtoEnv4delphi sebagai ketergantungan proyek Anda:
boss install https://github.com/rafael-figueiredo-alves/DotEnv4DelphiSetelah menginstal unit (dengan menyalin file atau menggunakan bos untuk menginstalnya sebagai ketergantungan), untuk mulai menggunakan dotenv4delphi, Anda perlu mendeklarasikan unit dotenv4delphi.pas dalam klausa penggunaan . Karena menggunakan pola singleton, kami sarankan Anda menempatkan unit di unit (atau unit) di mana Anda harus mendapatkan variabel, seperti dalam modul basis data atau di unit kelas yang Anda dapatkan data dari API REST.
Jika Anda ingin mendapatkan nilai variabel lingkungan seperti appData (Anda mendapatkan jalur data aplikasi), Anda dapat melakukannya dengan menggunakan fungsi GetEnvironmentVariable('APPDATA') atau, dengan menggunakan dotenv4delphi, Anda dapat melakukannya dengan cara yang sama seperti Anda akan mendapatkannya dari file .env :
Memo1.Lines.Add(DotEnv.Env( ' appdata ' )); Dari kode di atas, Anda mendapatkan appData variabel lingkungan sistem dan menulis nilainya dalam baris TMEMO. Jadi, satu -satunya hal yang harus Anda lakukan untuk mendapatkan nilainya adalah: DotEnv.Env('APPDATA'); . Itu selalu mengembalikan string yang bisa kosong atau tidak, tergantung apakah variabel ada atau tidak. Metode ini mencoba membaca variabel dari sistem dan, jika tidak menemukannya, ia mulai mencarinya di file .env . Sederhana, bukan?
Anda juga dapat mengambil keuntungan dari TenVVar enum dari unit dotenv4delphi. Ada semua variabel lingkungan sistem dan beberapa tambahan yang biasa digunakan dalam file .env dari contoh JavaScript. Lihat betapa mudahnya mendapatkan nilainya:
Memo1.Lines.Add(DotEnv.Env(tenvVar.ALLUSERSPROFILE));atau
Memo1.Lines.Add(DotEnv.Env(ALLUSERSPROFILE));Mendapatkan nilai dari variabel dari file .env adalah sepotong kue. Anda hanya perlu melakukan hal yang sama dengan yang Anda pelajari dari mendapatkan variabel sistem.
Memo1.Lines.Add(DotEnv.Env( ' MeuNome ' ));Dalam contoh di atas, karena tidak ada variabel yang disebut "meunome" dalam variabel lingkungan sistem, perpustakaan mencoba mendapatkannya dari file .env yang harus disimpan dalam folder yang sama dengan file yang dapat dieksekusi dari aplikasi Anda (dalam folder yang sama dengan aplikasi Anda). Jika tidak ada file .env, kode di atas akan mengembalikan string kosong. Anda juga dapat menggunakan TenVvar Enum, tetapi Anda harus ingat bahwa perpustakaan pertama -tama mencarinya di sistem secara default, tetapi Anda dapat mengubahnya saat Anda akan belajar di bawahnya.
File .env (alias "dotenv") menyimpan pasangan nilai kunci dalam format yang diturunkan dari file bash sederhana yang mengekspor variabel lingkungan.
Implementasi ini membelah erat dengan format yang dijelaskan oleh paket dotenv asli, tetapi ini bukan kecocokan langsung (berdasarkan desain).
Biasanya, file dotenv ( .env ) diformat menjadi pasangan nilai kunci sederhana:
S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE Demi portabilitas (dan kewarasan), nama variabel lingkungan harus hanya terdiri dari huruf, digit, dan garis bawah ( _ ) dan tidak boleh dimulai dengan digit. Dalam bahasa Regex, nama harus cocok dengan pola berikut:
[a-za-z _]+[a-za-z0-9 _]*
Nilai berada di sebelah kanan tanda sama. Mereka mungkin dikutip. Menggunakan kutipan tunggal atau ganda akan mencegah variabel diinterpolasi.
SIMPLE=xyz123
INTERPOLATED= " MultiplenLines and variable substitution: ${SIMPLE} "
NON_INTERPOLATED='raw text without variable interpolation'Nilai yang ditinggalkan tanpa dikutip akan menginterpolasi variabel dalam sintaks $ {var}. Ini dapat berguna untuk merujuk variabel lingkungan sistem yang ada atau variabel referensi yang sebelumnya diuraikan.
Misalnya:
USER=admin
EMAIL=${USER} @ example.orgJika nilai -nilai Anda harus mempertahankan $ {} dalam outputnya, bungkus nilainya dalam kutipan tunggal atau ganda, misalnya:
PASSWORD='! @ G0${k}k'
PASSWORD_API= " !@G0${k}k " Simbol hash-tag # menunjukkan komentar ketika berada di baris sendiri atau ketika mengikuti nilai yang dikutip. Ini tidak diperlakukan sebagai komentar ketika muncul dalam kutipan.
# This is a comment
SECRET_KEY=YOURSECRETKEYGOESHERE # also a comment
SECRET_HASH= " something-with-a-hash-#-this-is-not-a-comment " Hal yang baik tentang file .env adalah bahwa Anda tidak (dan Anda tidak boleh) mengirimkannya ke repo github Anda. Untuk melakukannya, sertakan baris berikut di .gitignore:
# DotEnv environment variables during Development
.env
PERINGATAN: Jika .Env Anda sudah menjadi bagian dari repositori git Anda, tambahkannya ke .gitignore tidak akan menghapusnya. Dalam hal ini, Anda juga harus memberitahu Git untuk berhenti melacak .env.
Karena itu, sangat disarankan untuk menambahkan file .env-contoh untuk menunjukkan kepada orang lain apa yang harus mereka terapkan pada file .env mereka sendiri untuk membuat proyek Anda berfungsi.
Untuk mengatur jalur yang berbeda ke file .env, cukup gunakan perintah berikut:
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemoWin32Debug.env');
atau
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemo.env');
Dalam beberapa kasus, Anda harus hanya perlu mendapatkan variabel dari file .env Anda. Dalam hal ini, Anda dapat menggunakan baris berikut:
DotEnv.Config(True);
Jika Anda ingin mengatur jalur yang berbeda dan juga diatur untuk hanya mendapatkan variabel darinya, cukup sertakan baris berikut:
DotEnv.Config('D:Meus ProjetosDotEnv4DelphiDemo.env', True);
Jika Anda mengatur ke false, Anda akan menggunakan keduanya, variabel lingkungan sistem dan variabel file .env. Hal yang sama berlaku jika Anda meneruskan string kosong ke jalur jika Anda ingin menggunakan jalur default.
Ingat: Anda tidak perlu menggunakan dotenv.config () jika Anda tidak ingin mengubah jalur atau diatur untuk hanya menggunakan file .env. Dan kapan saja Anda menggunakan baris ini, Anda akan mengubah konfigurasi default dan sebelumnya.
Saya kira perpustakaan dotenv4delphi kompatibel dengan versi delphi apa pun sejak Delphi Xe2 dan mungkin Lazarus juga. Sistem operasi sama didukung oleh Delphi / Lazarus.
DOTENV4DELPHI Versi 1.4.0