Laravel 5.2 - Dot ENV (Environment Configuration)
Lanjut masih dengan topik yang sama yakni tentang Laravel. Bahasan sekarang mengenai dot ENV (.ENV
), yakni suatu berkas yang digunakan Laravel sebagai variabel yang nantinya dipakai untuk konfigurasi database seperti nama database, username
dan password
database, application key
, dan lain sebagainya.
Dot ENV sangat membantu untuk mengambil nilai konfigurasi yang berbeda berdasarkan pada lingkungan aplikasi. Sebagai contoh, Anda mungkin ingin menggunakan driver cache
yang berbeda secara lokal dari yang Anda lakukan pada server produksi Anda. Sangat mudah menggunakan konfigurasi Dot ENV ini.
Laravel memanfaatkan DotEnv PHP library buatan Vance Lucas. Jika Anda mengunduh manual Laravel (dari GitHub
), maka Anda akan melihat pada direktori root
dari aplikasi Anda akan berisi berkas .env.example
. Jika Anda menginstal Laravel melalui Composer, berkas ini akan otomatis diubah namanya menjadi .env
. Jika tidak, Anda harus mengubah nama berkas tersebut secara manual.
Jika Anda melihat sebuah berkas ini:
Itu berisi semua variable Laravel seperti gambar di bawah ini:
Anda dapat mengatur seluruh variable yang nantinya digunakan untuk aplikasi Anda. Seperti pengaturan aplikasi APP_KEY
, DB_USERNAME
, DB_PASSWORD
, dan lain sebaginya.
Semua variabel tersebut terekam dalm satu variabel global bernama $_ENV Anda dapat mengaksesnya dengan artisan tinker
contoh:
php artisan tinker lalu ketik $_ENV
Atau juga Anda dapat mengaksesnya dengan function env()
. Contoh:
env('APP_URL')
Anda dapat mengambil nilai environment dengan cara:
$environment = App::environment(); //atau $environment = app()->environment();
Gambar di atas hasilnya local
karena pada .ENV
di APP_ENV
bernilai local
. Yang mana tujuannya adalah jika Anda membuat dua metode semisal jika environment bernilai local maka memanggil kode lokal, jika tahap production memanggil kode production. Contoh:
if (App::environment('local')) { // environment local maka panggil kode lokal } if (App::environment('local', 'staging')) { // Jika environment local atau staging maka } if (App::environment('production')) { // environment local maka panggil kode production }
Cukup mudah bukan? Semoga bermanfaaat. ?