Laravel #6 – Konfigurasi Dasar Pada Laravel 8

Laravel sudah menyediakan konfigurasi untuk kita yang menurut saya sangat mudah. Semua konfigurasi Laravel ada dalam direktori config. Di dalam direktori tersebut, kamu bisa mengatur koneksi ke database, mail server, timezone dan masih banyak lagi.

Selain itu, terdapat konfigurasi environment di Laravel. Pada dokumentasi Laravel, Laravel menggunakan library PHP DotEnv. Lalu apa bedanya dengan konfigurasi yang ada di dalam direktori config? Di dalam direktori config, konfigurasi terpisah-pisah menjadi beberapa buah file. Misalnya untuk konfigurasi database ada dalam file database.php, konfigurasi mailing ada dalam file mail.php, konfigurasi aplikasi ada dalam file app.php dan pengaturan-pengaturan lainnya.

Direktori Config
Direktori Config Pada Laravel

Jadi, dengan adanya file .env, semua pengaturan yang ada dalam direktori config di atas dapat kita setting di satu file yang bernama .env tersebut. Jadi, kita tidak perlu berpindah-pindah file jika ingin mengubah konfigurasi aplikasi yang kita buat.

Semua konfigurasi yang ada dalam file .env lebih diutamakan daripada pengaturan yang ada dalam direktori config. Misalnya jika kita mengatur database dengan nama “penjualan” di dalam file config/database.php. Kemudian kita mengatur database dengan nama “perpustakaan” di file .env, maka database perpustakaan lah yang akan digunakan. Kecuali jika file .env kita hapus, maka pengaturan yang dijalankan adalah file-file pengaturan di dalam direktori config.


Konfigurasi Environment

Konfigurasi environment pada Laravel ada dalam sebuah file bernama .env. File tersebut berada di direktori paling luar dari project laravel yang telah kita buat dengan composer.

File .env
File .env pada Laravel

Coba perhatikan gambar di atas, terdapat dua buah file .env namun satunya dengan nama .env.example. File example tersebut sebenarnya adalah file backup saja jika suatu saat kita salah mengubah file .env. Dengan adanya file example, kita bisa mengembalikan settingan ke default dengan cara melihat isi dari file .env.example.

Berikut ini adalah isi default dari file .env.example.


Mengakses Konfigurasi Environment

Kamu dapat mengakses isi konfigurasi dari environment yang telah kita setting. Misalnya kita ingin menampilkan nama aplikasi dari project laravel yang telah kita buat, kita tinggal mengakses variable APP_NAME pada file .env atau mengakses variable yang ada dalam direktori config/app.php.

Berikut ini adalah contoh syntax untuk mengakses konfigurasi.

Atau.

Syntax di atas akan menampilkan sebuah string sesuai isi dari file konfigurasi kita. Dalam contoh kasus di atas, kita menampilkan nama aplikasi dari konfigurasi file .env dan dari direktori config yang telah kita setting, default nama aplikasi adalah “Laravel”, kamu bisa menggantinya.


Caching Konfigurasi

Untuk mempercepat loading aplikasi yang kita buat, kita dapat men-cache semua konfigurasi yang telah kita setting menjadi dalam satu file dengan salah satu perintah php artisan. Ini akan menggabungkan semua opsi konfigurasi menjadi satu file dan dapat dimuat lebih cepat oleh framework. Untuk menjalankan perintah cache, kamu dapat menggunakan perintah di CMD pada direktori project laravel yang telah kita buat.

Setelah perintah di atas dijalankan, file .env tidak akan lagi dimuat karena Laravel sudah memuat hasil cache konfigurasi. Namun sebaiknya konfigurasi ini dijalankan hanya ketika aplikasi yang telah kita buat sudah dalam status production, bukan masih tahap development yang mana kita masih sering mengubah-ubah file konfigurasi.

Sedangkan untuk membersihkan cache, kamu dapat menggunakan perintah.

Konfigurasi Caching
Create cache & clear cache pada Laravel

Debug Mode

Di dalam konfigurasi .env pada Laravel, terdapat variable APP_DEBUG yang bernilai default true. Dalam tahap development, tetap biarkan APP_DEBUG bernilai true agar pesan-pesan error yang terjadi dalam tahap development terlihat oleh kita. Namun jika aplikasi sudah dalam production, sebaiknya kita mengatur APP_DEBUG menjadi false agar informasi sensitif yang ada dalam konfigurasi kita tidak terlihat oleh pengunjung.


Maintenance Mode

Berbeda dengan framework PHP lain, Laravel memiliki kelebihan dengan fitur yang keren, salah satunya adalah mode maintenance.

Jika kita mengembangkan aplikasi menggunakan Laravel, kita bisa membuat status aplikasi menjadi maintenance atau dalam masa pengembangan. Dengan begitu pengunjung akan tahu bahwa aplikasi sedang dalam pengembangan atau perbaikan.

Untuk mengaktifkan fitur maintenance, kita bisa mengaktifkannya dengan salah satu perintah php artisan. Masuk ke direktori project Laravel melalui CMD/Terminal dan ketik:

Dengan menjalankan perintah di atas, maka akan muncul pemberitahuan bahwa aplikasi sekarang sedang dalam mode maintenance.

Kemudian jalankan project dengan mengetik perintah.

Mengaktifkan Maintenance Mode Pada Laravel
Mengaktifkan Maintenance Mode Pada Laravel

Sekarang coba akses 127.0.0.1:8000, akan tampil halaman simple dengan pemberitahuan pesan HTTP 503 (Service Unavailable) seperti di bawah ini.

503 Maintenance Mode
503 Maintenance Mode

Jika kamu kurang suka dengan tampilan default halaman di atas, kamu dapat mengeditnya di resources/views/errors/503.blade.php.

Untuk menonaktifkan mode maintenance, ketikkan perintah di bawah ini.

Dengan menjalankan perintah di atas, maka akan muncul pemberitahuan bahwa aplikasi sekarang sudah live kembali.

Kemudian jalankan project dengan mengetik perintah.

Menonaktifkan Mode Maintenance Pada Laravel
Menonaktifkan Mode Maintenance Pada Laravel

Sekarang coba akses 127.0.0.1:8000, akan tampil halaman default project Laravel dalam keadaan live seperti semula.

Tampilan Default Project Laravel
Tampilan Default Project Laravel

Kesimpulan

Dari penjelasan di atas, kita dapat menarik kesimpulan bahwa:

  1. File .env adalah fitur untuk konfigurasi Laravel
  2. Semua pengaturan ada dalam file .env
  3. Pengaturan yang ada dalam file .env lebih diutamakan daripada file-file yang ada dalam direktori config
  4. Isi variable dari .env dapat diakses untuk ditampilkan
  5. Dengan php artisan, kita dapat melakukan banyak hal seperti mengaktifkan mode maintenance, mencache konfigurasi, dll.

2 pemikiran pada “Laravel #6 – Konfigurasi Dasar Pada Laravel 8”

  1. Kalau saya tangkap dari Laravel sendiri, env. merupakan file pada development saja. Jika sudah dideploy ke server menggunakan konfigurasi pada folder config.

    Balas
    • Iya memang, di atas sudah saya jelaskan dot env ini memang tidak direkomendasikan untuk mengatur konfigurasi di sana ketika aplikasi sudah masa production (live), dot env hanya untuk proses development saja.

      Balas

Tinggalkan komentar

− 3 = 2