Laravel menyediakan sebuah fitur yang menurut saya sangat bisa memudahkan kita dalam melakukan konfigurasi.
Yaitu ada yang namanya Environmental Configuration. pada dokumentasi cara penggunaan laravel sendiri, di jelaskan bahwa laravel menggunakan library PHP dotEnv. dimana library dotEnv ini dibuat oleh seorang bapak-bapak yang bernama Vance Lucas.
Teman-teman bisa membaca nya di sini https://laravel.com/docs/5.7/configuration#environment-configuration.
Environmental Configuration
Konfigurasi environmental pada laravel ini ada dalam sebuah file yang bernama .env.
Jika kita menginstall laravel menggunakan composer. akan ada sebuah file yang bernama .env dan terletak di direktori paling luar dalam project laravel.
Awalnya file tersebut bernama .env.example. tapi jika kita menginstall laravel dengan menggunakan composer, maka file .env.example tersebut akan langsung di duplikat dan di rename menjadi .env. agar konfigurasi .env langsung aktif pada project laravel kita.
Jadi file .env.example ini hanya menjadi semacam file backup saja jika suatu saat kita salah mengubah pengaturan yanga ada dalam file .env, kita bisa mengambalikannya ke default kembali dengan cara melihat isi dari .env.example.
Berikut ini isi default dari file .env
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:2lY+ePqCW7DKC4g16Wv22YBQ/GwV95al0L7yy6Dfu5o=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY=“${PUSHER_APP_KEY}”
MIX_PUSHER_APP_CLUSTER=“${PUSHER_APP_CLUSTER}”
|
File .env berisi konfigurasi atau pengaturan-pengaturan project laravel kita. semua konfigurasi di gabung di dalam file .env ini.
Salah satu tujuannya agar memudahkan kita dalam mengubah pengaturan yang ingin kita sesuaikan dengan project aplikasi yang ingin kita buat dengan laravel.
Sebenarnya semua konfigurasi dari laravel berada dalam folder config. dan terpisah-pisah menjadi beberapa buah file. misalnya untuk konfigurasi database pada laravel ada di file database.php. untuk konfigurasi mailing ada di file mail.php. konfigurasi aplikasi ada dalam folder app.php. dan pengaturan-pengaturan lainnya.
Jadi dengan ada nya file .env ini, semua pengaturannya berada dalam 1 buah file ini saja. sehingga kita tidak perlu berpindah-pindah file jika ingin mengubah-ubah pengaturan project laravelnya. cukup pada 1 buah file saja, yaitu file .env. karena semua pengaturannya bisa kita ubah di 1 file ini.
Semua konfigurasi yang ada dalam file .env ini lebih diutamakan di bandingkan pengaturan pada file lainnya yang ada dalam folder config.
Misalnya jika kita membuat pengaturan nama database dengan nama βperpustakaanβ. dan pada file database.php dalam folder config, kita buat nama database dengan nama βakademikβ. maka nama database yang digunakan tetap βperpustakaanβ. karena konfigurasi yang ada dalam file .env lebih diutamakan dibandingkan pengaturan yang ada pada file lain.
Kecuali jika kita menghapus file .env ini, maka pengaturan yang dijalankan adalah pengaturan-pengaturan yang ada pada file-file dalam folder config.
Kesimpulan
Jika kita ambil kesimpulan dari penjelasan di atas yang lumayan panjang. pengertian dan kegunaan dari .env adalah sebagai berikut.
- File .env adalah fitur untuk konfigurasi laravel
- Semua pengaturan yang ada pada project laravel sudah dikumpulkan dalam file .env
- Pengaturan yang ada dalam .env lebih diutamakan oleh sistem dibandingkan dengan pengaturan-pengaturan yang ada dalam folder confi