Laravel Tips #3 : Reusable Global Variabel Menggunakan Laravel Provider

Putri Alvina Lutfiani
2 min readSep 10, 2019

Provider adalah file-file PHP yang pertama kali dijalankan sebelum Laravel menjalankan file yang ada pada MVC. Global variabel di sini yaitu variabel yang mempunyai isi data yang sama yang di akses di beberapa halaman yang mempunyai controller yang berbeda.

Contoh permasalahan, pada footer suatu website yang menampilkan profil perusahaan dan di-include kan di beberapa halaman berbeda seperti halaman utama, halaman about, dan halaman contact us. Logikanya, data perusahaan tersebut harus dipanggil di ketiga controller masing-masing halaman (anggap saja per halaman mempunyai controller tersendiri). Hal tersebut tidak praktis karena mengulang kode yang sama pada controller berbeda, bahkan terdapat kasus yang mengharuskan pengulangan di setiap function.

Maka dari itu, Laravel menyediakan provider yang dapat dimanfaatkan. Contoh pemanfaatan yang sudah saya gunakan yaitu membuat global variabel dengan data yang sama yang dipanggil di beberapa controller seperti kasus yang sudah dijabarkan. Selain itu, bisa digunakan untuk mengatur nama halaman sesuai halaman yang di akses, dan data-data dinamis yang harus tampil secara terus menerus seperti misalnya jumlah suatu data pada sidebar.

Photo by Daria Nepriakhina on Unsplash

Contoh

  1. Perhitungan pada sidebar yang harus tampil secara terus menerus ketika section content berganti-ganti (berpindah controller yang berbeda).

2. Penamaan halaman sesuai halaman yang di akses (berdasarkan url).

3. Membuat global array statis untuk dropdown yang digunakan untuk beberapa form yang berbeda.

Do it

Laravel Provider sebenarnya sudah tersedia sejak proyek pertama kali di-download.

<project_name>/app/Providers

Ada beberapa provider yang ada dengan kegunaannya masing-masing. Untuk pemanfaatan provider seperti contohnya membuat global variabel yaitu menggunakan AppServiceProvider.php.

Pengguna juga dapat membuat file provider sendiri.

# Membuat Provider Sendiri

Pertama, pada cmd ketikan perintah artisan :

php artisan make:provider NamaProviderBaru

Kedua, daftarkan provider tersebut ke dalam app.php pada folder config. Pada array provider’ tambahkan :

App\Providers\NamaProviderBaru::class

Provider yang sudah dibuat dapat langsung dipakai.

How it Works

Saya akan memberikan contoh kode yang sudah meliputi pengaturan halaman sesuai url, membuat global array statis, dan global variabel yang berisi profil perusahaan dari database.

Request::segment(1)

Merupakan kode untuk mengambil parameter pertama url yang di-split berdasarkan / (slash).

Untuk penggunaan variabel-variabel tersebut, harus menggunakan fungsi

View::share()

Selanjutnya, variabel-variabel tersebut dapat langsung digunakan ke dalam view selayaknya variabel yang di-render melalui controller biasa. Pengguna dapat memanfaatkan dan meng-kreasi-kan provider ini sesuai kebutuhan.

--

--