Sulhi.id

Catatan Kecil Seputar Blogging dan Koding

Konsep MVC (Model, View, Controller) pada Laravel

Thursday, November 8th, 2018     Laravel

Sebelum belajar lebih jauh mengenai laravel, kita mulai terlebih dahulu dari konsep dasar yang digunakan, yaitu konsep MVC (Model, View, Controller). Laravel merupakan salah satu framework yang memisahkan antara data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller).

Apa itu Model?  Model adalah sebagai penghubung antara Controller dengan database yang berguna untuk mengambil data. Sementara  Controller, dapat diartikan sebagai kendali atau pengendali diambil dari kata controll bisa juga diartikan jembatan antara view dan model. Controller memiliki tugas mengendalikan ataupun menjembatani antara apa yang di-request yang selanjutnya Controller akan memprosesnya. Pada Laravel file Controller berada di app/Http/Controllers. Adapun View digunakan untuk menerima dan merepresentasikan data kepada user. Letak file View berada pada folder Resources/views.

Struktur laravel

Berikut adalah beberapa struktur dari laravel :

  • App
    Berisi kumpulan logika dan alur sistem yang akan dibuat.
  • Bootstrap
    Direktori ini berisi beberapa file kerangka framework laravel termasuk autoload yang befungsi untuk mengoptimasi kinerja sistem yang dihasilkan.
  • Config
    Mencakup seluruh konfigurasi framework mulai dari database, app, mail, dan lain sebagainya.
  • Database
    Sebagai folder penampung file migrations dan seeds yang berhubungan langsung ke pengolahan data dalam database.
  • Public
    Sebagai folder yang akan diakses oleh public/users nantinya. Folder ini juga berisi file-file assets (css/js/images/dll)
  • Resource
    Folder ini berisi semua resource untuk bagian frontend.
  • Routes
    Folder ini digunakan untuk menentukan format url yang digunakan untuk mengakses halaman yang dibuat
  • Storage
    Berisi compiled blade templates, session, cache, logs dan file lainnya yang di-generateotomatis oleh framework.
  • Tests
    Berisi semua test yang kita buat untuk aplikasi.
  • Vendor
    Berisi seluruh library-library yang digunakan dalam framework laravel maupun yang diinstall melalui composer.

Contoh MVC di Laravel

Mari kita buat contoh sederhana dari implementasi MVC di Laravel. Namun untuk sementara Model tidak diambil dari database, melainkan kita defenisikan sendiri dalam bentuk variable data.

Pertama, kita buat controller dengan perintah artisan dengan nama controller BelajarController.

php artisan make:controller BelajarController

File BelajarController.php tersimpan pada folder app/Http/Controller/BelajarController.php. Silakan buat kode seperti gambar di bawah ini ;

Pada controller BelajarController.php terdapat satu fungsi yaitu function index ();. Pada fungsi tersebut didefenisikan beberapa variable untuk selanjutnya akan ditampilkan pada blade view. Pada baris ke-17 variable tersebut di-return ke View  dengan nama file pilpres.blade.php.Pada controller format file view tidak ditulis lengkap cukup dengan nama pilpres.

Kedua, buat file view dengan nama pilpres.blade.php yang disimpan pada folder resources/view/pilpres.blade.php. Silakan buat kode html seperti gambar di bawah ini:

Untuk menampilkan variable yang didefinisikan pada controller, harus di diapit dengan tanda kurawal double {{..}} dan diawali dengan tanda dolar $, seperti pada kode baris ke-1 {{$judul}} di atas.

Ketiga, untuk dapat ditampilkan lewat browser, sebelumnya kita update terlebih dahulu file routes/web.php dengan menambahkan routing sebagai berikut:

Terkahir, silakan akses dibrowser dengan url http://blog.localhost/pilpres