MENGENAL DASAR ROUTE, CONTROLLER DAN VIEW PADA LARAVEL


1. PENGERTIAN MVC PADA LARAVEL

MVC atau Model View Controller merupakan salah satu implementasi prinsip SoC (Separation of Concern) untuk aplikasi yang sedang dikembangkan. Dalam MVC, kita membagikan bentuk aplikasi dalam tiga bagian utama, yaitu:
  1. Model, yaitu bagian kode aplikasi yang berhubungan dengan basis data.
  2. View, yaitu bagian kode yang berhubungan dengan tampilan ke pengguna.
  3. Controller, yaitu bagian kode yang menghubungkan antara Model dan View.
Secara kasar, berikut adalah arsitektur aplikasi web kita jika dikembangkan dengan menggunakan pola MVC:

Arsitektur MVC

Alur kerja aplikasi web kita ketika user mengunjungi salah satu halaman yaitu:
  1. Browser berhubungan dengan server untuk akses halaman.
  2. Request (permintaan) browser ditangani oleh bagian Controller dari kode kita.
  3. Controller akan melakukan pemanggilan ke Model untuk mendapatkan data yang relevan, dan kemudian mempersiapkan data tersebut untuk ditampilkan.
  4. Controller memberikan data yang diperlukan kepada view.
  5. View menampilkan data dan berbagai elemen antarmuka tambahan yang diperlukan.

2. STRUKTUR - STRUKTUR PADA LARAVEL
  • app/ digunakan untuk menyediakan tempat default untuk menyimpan kode yang sudah ditulis atau dikonfigurasi. Pada folder ini lah kita meletakan semua kode projek aplkasi yang dimulai dari konfiguasi, logic dan sebagainya.
  • bootstrap/ berisi tentang file-file prosedur untuk framework laravel.
  • vendor/ folder ini berisi tentang semua paket composer yang digunakan diaplikasi kita, file framework laravel juga terdapat dalam folder ini.
  • public/ folder ini berisi assets yang kita gunakan untuk meyimpan file-file CSS, Javascript, Image ataupun file-file yang diperlukan (biasanya kaitannya erat dengan View – untu membangun frontend).
  • gitattributes File ini merupakan file konfigurasi standar sistem versi kontrol yang sangat populer saat ini yaitu Git.
  • gitignore File ini berisi beberapa informasi folder mana saja yang akan diabaikan oleh Git.
  • artisan file ini merpakan file yang berfungsi untuk mengeksekusi atau menjalankan perintahperintah artisan CLI untuk laravel.
  • composer.json dan composer.lock kedua file ini berisi informasi tentang paket-paket composer yang akan kita gunakan untuk keperluan aplikasi.

  • phpunit.xml file ini berisi konfigurasi default Unit Testing PHP Laravel. File ini juga menangani pemuatan dependensi composer dan mengeksekusi semua test yang ada pada direktori app/tests.

  • server.php file ini berisi tentang prosedur untuk menlakankan Laravel dengna web server internal yang diperkenalkan pada PHP versi. 

3. MEMBUAT CONTROLLER DENGAN ROUTE PARAMETER
  • Pertama buka Project Laravel yang sudah dibuat sebelumnya.
  • Kemudian buka folder App - Http - Controllers. di dalam folder Controllers buat file dengan nama ProfileController.php dan masukkan syntax sebagai berikut :
  <?php
  namespace App\http\Controllers;
  use App\http\Controllers\Controller;

  class ProfileController extends Controller
  {   

    public function namasendiri()
    {   
    $nama = "jokowi";
    $alamat = "Solo";
    $jabatan = "Presiden";
          
  return view('profile',
  compact('nama', 'alamat', 'jabatan') );             
    }
  }
  • Langkah berikutnya buka file web.php yang terdapat pada folder routes dan masukkan syntax sebagai berikut :
  <?php
   Route::get('/nama-sendiri',
   'ProfileController@namaSendiri');
  • Selanjutnya buat file lagi dengan nama Profile.blade.php dan simpan di folder resources - views, masukkan syntax sebagai berikut :
   <table>
     <tr>
     <td>Nama :</td>
     <td>{{$nama}}</td>
     </tr>
     <tr>
     <td>Alamat :</td>
     <td>{{$alamat}}</td>
     </tr>
     <tr>
     <td>Jabatan :</td>
     <td>{{$jabatan}}</td>
     </tr>
   </table>

  • Langkah terakhir buka browser untuk menjalankan programnya, ketikkan pada linknya localhost/[nama project]/nama-sendiri/public dan hasilnya akan tampil seperti gambar berikut :

4. LATIHAN
Membuat Controller dengan Route Parameter mamakai Tabel
  • Sama seperti program sebelumnya, pertama buka file ProfileController.php yang sebelumnya sudah dibuat, kemudian dibawahnya tambahkan syntax baru sebagai berikut :
   public function DaftarBarang()
     {
           $barang = array("Telur", "Terigu", "Beras");
           $harga     = array("12.000", "7.000", "9.500");
          
           return view('daftarbarang',
           compact('barang', 'harga') );
     }
  • Selanjutnya buka file web.php nya, dan dibawahnya tambahkan lagi syntax baru sebagai berikut :
   Route::get('/daftar-barang',
   'ProfileController@DaftarBarang'); 
  • Kemudian buat file baru dengan nama  daftarbarang.blade.php, simpan di folder rosources - views dan masukkan syntak sebagai berikut :
   <?php

     echo "
           <table border='1' width='50%' align='center'>
           <tr>
                <td colspan='2'><i>Daftar Barang</i></td>
           </tr>
           <tr>
                <td width='20%'>Nama Barang</td>
                <td>Harga</td>
           </tr>
           ";
           for ($i=0;$i<=2;$i++) {
                echo"
                     <tr>
                           <td>$barang[$i]</td>
                           <td>$harga[$i]</td>
                     </tr>
           ";
     }
     echo"</table>
  ";
  • Untuk menjalankan programnya sama seperti sebelumnya dengan membukan browser dan pada linknya ketikkan localhost/[nama project]/daftar-barang/public dan hasilnya akan tampil seperti gambar berikut :








Referensi :

https://bertzzie.com/knowledge/framework-php/1-Model-View-Controller.html
http://pmiigempha.blogspot.co.id/2016/04/mengenal-struktur-projek-laravel.html





Komentar

Postingan populer dari blog ini

PENGGUNAAN TEMPLATE ADMINLTE PADA LARAVEL

Variabel, Echo, dan Var_Dump() Pada Pemrograman Web