Belajar Kode Program

Blog belajar menulis kode program dan aplikasi komputer

Jumat, 22 Desember 2017

File Konfigurasi pada Laravel

Sama seperti framework php lainnya, laravel juga memiliki file konfigurasi. Bahkan, konfigurasi ini sangat fleksibel, kita bisa menambahkan sesuka kita dengan membuat file baru pada folder config. Perhatikan gambar di samping, ada beberapa file yang secara default sudah disiapkan oleh Larave, mulai dari app.php hingga view.php.


Fleksibilitas konfigurasi ini bisa kita praktikkan dengan membuat sebuah file baru, misalnya kita membuat file konfig.php. Kemudian, kita mengisinya cukup dengan bentuk array, misalnya sebagai berikut:

<?php

return [
    'blog' => [
        'url' => 'https://belakode.com',
        'username' => 'belakode'
    ],
    'contact' => [
        'web' => 'https://belakode.com',
        'phone' => '+628612132131'
    ]
];


Lalu, bagaimana kita menggunakannya dalam Laravel? Untuk membaca konfigurasi, kita dapat menggunakan facade Config yang menyediakan fungsi statis bernama get. Jadi, untuk memanggil info tentang data konfigurasi yang berupa array, kita menggunakan simbol titik. Misal:

$blog_url = Config::get('konfig.blog.url');


Kata konfig pada parameter fungsi di atas adalah kata pertama sebelum titik yang menunjukkan file konfigurasi, yaitu konfig.php.

Kemudian untuk berjaga-jaga jika nilai konfigurasi tersebut kosong atau belum di-set, kita bisa menggunakan nilai default dengan menambahkan parameter kedua, contoh:

$blog_url = Config::get('konfig.blog.url', 'https://belakode.com');


Selain fungsi get, mungkin kita akan memerlukan fungsi set yang digunakan saat kita ingin melakukan perubahan data pada saat program berjalan. Contoh:

Config::set('konfig.blog.url', 'https://belakode.com');


Atau jika ingin mengeset beberapa konfigurasi kita bisa menggunakan array seperti contoh berikut:

Config::set([

    'konfig.blog.url' => 'https://www.facebook.com/belakode',

    'konfig.blog.username' => 'belakode'

]);


Untuk fungsi set ini, harus diperhatikan bahwa kata kunci array harus sudah terdefinisi pada file konfigurasi. Jika tidak, maka perintah set ini tidak akan menghasilkan perubahan apa-apa.

Facade Config di atas sebenarnya dapat dengan mudah kita ganti dengan sebuah fungsi yang bernama config(). Bedanya, untuk memanggil dan mengeset nilai konfigurasi caranya sama, hanya berbeda pada parameternya. Contoh:

//memanggil data konfigurasi 

$blog_url = config('konfig.blog.url');



//mengeset data konfigurasi dengan nilai sesuai parameter kedua

config('konfig.blog.url', 'https://belakode.com');



//atau

config([

    'konfig.blog.url' => 'https://belakode.com'

]);  


Agar lebih yakin, silakan coba menggunakan tinker untuk melihat seperti apa isi dari fungsi config tersebut. Mengenai tinker dapat Anda baca di sini.



Lalu, mungkin Anda bertanya-tanya, bukankah file konfigurasi Laravel itu adalah file dotEnv (.env) yang terletak di folder root aplikasi? Benar, tetapi itu sebenarnya hanyalah file variabel environment. Artinya, file tersebut biasa dipakai untuk menyimpan data-data yang sifatnya rahasia, seperti nama dabatase, password, atau mungkin juga key API tertentu. Oleh karenanya, file dotEnv ini termasuk salah satu file yang tidak diunggah di repo git. Silakan lihat file .gitignore, di dalamnya tercantum satu file yang bernama .env.

Lalu, bagaimana kita menggunakan file dotEnv? Dalam file konfigurasi, kita cukup menggunakan fungsi env() seperti berikut:

<?php


return [
    'blog' => [
        'url' => 'https://belakode.com',
        'username' => env('USERNAME_BLOG')
    ],
    ...
]; 

Penggunaan file dotEnv ini sebenarnya merupakan pemanfaatan dari pustaka PHP yang sudah ada, yaitu PHP dotenv yang dibuat oleh Vance Lucas.

Demikian pembelajaran kali ini, semoga bermanfaat!

Tidak ada komentar:

Posting Komentar