Breaking

Sabtu, 03 Juni 2017

Memahami Konsep MVC pada Laravel

Sama seperti framework PHP lainnya, Laravel juga menggunakan konsep Model-View-Controller (MVC) dalam strukturnya. Artinya, framework Laravel ini memisahkan antara pengaturan database dan backend-backend lainnya pada sisi model (M) dan menyerahkan urusan tampilan atau yang berkaitan dengan frontend di sisi view (V). Adapun controller (C) berfungsi untuk mengkoordinasikan model dan view tersebut.

Namun, ternyata dalam struktur aplikasinya terdapat folder-folder selain representasi MVC tersebut. Oleh karena itu, kita harus memahami strukturnya dengan baik agar dapat bekerja dengan baik menggunakan Laravel. Tim Belakode mencoba menjelaskannya dalam bahasa yang sederhana.

Mari kita mulai dari entri poin yang berupa file public/index.php. Dari sini selanjutnya akan di-load autoloader composer, lalu merujuk bootstrap/app.php. Selanjutnya permintaan dari user diserahkan ke Kernel HTTP  dilarikan ke kernel yang akan mendefinisikan middleware apa saja yang akan digunakan dan juga membaca konfigurasi, setidaknya pada config/app.php. Pada konfigurasi ini ditentukan berbagai atribut, utamanya mengenai provider apa saja yang digunakan oleh sistem. Termasuk juga alias-alias kelas yang di dalam sistem nanti akan dipanggil.

Kemudian lanjut ke router. Dari router, barulah dilarikan ke controller, jika memang perlu. Karena sah-sah saja dari router langsung disajikan ke pengunjung web tampilan yang diinginkan.

Kalau ternyata controller digunakan, selanjutnya controller dapat mengakses model dan view.  Nah, di sinilah cerita mengenai konsep MVC diterapkan. Model digunakan untuk yang berhubungan dengan basis data, dan view digunakan untuk yang berhubungan dengan pengguna. Adapun controller, sebagai jembatan antara model dan view.

View pada Laravel menggunakan mesin (engine) template yang bernama BLADE. File-nya harus berekstensi *.blade.php agar sistem membacanya sebagai sebuah file template blade.

Secara struktur, berikut adalah urutan dari proses berjalannya aplikasi Laravel:

  1. Entri poin, dari public/index.php
  2. Loading autoloader composer, dari vendor/autoload.php
  3. Mulai menjalankan aplikasi dengan memanggil file bootstrap/app.php
  4. Aplikasi menjalankan kernel (tergantung rekues, http atau konsole), jika rekues dari web (http) file berada di app/Http/Kernel.php. Kernel ini yang menentukan middleware apa saja yang diperlukan.
  5. Dari bootstrap/app.php tadi, konfigurasi dibaca dari folder config. Konfigurasi pertama yang dibaca adalah config/app.php. Dari konfigurasi didapati servis provider mana saja yang akan digunakan. Salah satu provider itu adalah menyangkut route.
  6. Nah, rute ada di folder routes. Jika aplikasi kita web biasa, route-nya adalah routes/web.php.
  7. Dari rute itu baru masuk ke konsep MVC.
  8. Model ada di folder app. Model bawaan yang sudah disiapkan oleh Laravel adalah app/User.php. Di folder ini kita bisa membuat folder untuk model sesuai kebutuhan.
  9. Kontroller ada di folder app/Http/Controllers
  10. View ada di folder resources/views. Untuk dapat menggunakan views ini kita dituntut untuk menguasai dasar-dasar Blade.
Demikian, semoga dapat memberi pencerahan untuk pembaca sekalian.

Tidak ada komentar:

Posting Komentar

close