Social Icons

Kamis, 02 November 2017

Memahami Dasar Controller Dan View Pada Laravel

DASAR TEORI

Setelah mempelajari routing laravel sebelumnya, kali ini kita akan membahas tentang cara Controllers pada Laravel. Sebelumnya kita harus memahami terlebih dahulu konsep MVC. MVC kependekan dari, M adalah Model yang digunakan untuk query atau proses mengambil data dari database. V adalah View yang digunakan untuk tampilan user berupa html, css, js, dan data yang bersifat client. Sedangkan C adalah Controller yang digunakan untuk mengatur atau menjembatani antara model dan view juga bisa digunakan untuk mengatur alur program. Berikut ini gambar dari NVC :

Ok langsung saja kita coba praktek bagaimana menggunakan MVC pada laravel. Pertama buka web.php yang ada pada folder routes, kemudian buat sebuah file php dengan nama ProfileController.php pada folder app\Http\Controllers\ . Setelah itu buka file ProfileController.php tersebut kemudian masukkan source code berikut :

<?php
namespace App\Http\Controllers; 

use App\Http\Controllers\Controller; 

class ProfileController extends
Controller
{
 function index()
 {
  return 'Ini halaman contoh';
 }
 
 public function namaSendiri()
 {
  $nama = "Galih Febrizki";
  $alamat = "Ciamis, Jawa Barat.";
  $jabatan = "Mahasiswa";
  return view(
   'profile', 
   compact('nama', 'alamat', 'jabatan') 
  );
 }
 
}
?>
Penjelasan :
namespace App\Http\Controllers; : path sebagai tempat menyimpan file ProfileController.php.
use App\Http\Controllers\Controller; : memanggil class lain pada folde Controllers dengan nama class Controller.
'profile', : untuk dapat konek ke profile.blade.php atau untuk mengirimkan data pada class tersebut ke profile.blade.php.
compact('nama', 'alamat', 'jabatan') : untuk membuat array.

Setelah itu, kita buat file profile.blade.php kemudian simpan di folder resource\views\ , kemudian masukkan source code berikut :

<table>
 <tr>
  <td>Nama</td>
  <td>:</td>
  <td>{{$nama}}</td>
 </tr>
 <tr>
  <td>Alamat</td>
  <td>:</td>
  <td>{{$alamat}}</td>
 </tr>
 <tr>
  <td>Jabatan</td>
  <td>:</td>
  <td>{{$jabatan}}</td>
 </tr>
</table>
Kemudian tambahkan Route nya pada file web.php dengan mengetikkan :

Route::get('/nama-sendiri', 'ProfileController@index');
Route::get('/nama-sendiri', 'ProfileController@namaSendiri');
Setelah itu, kita jalankan pada Browser dengan mengetikkan http://localhost/laravel/public/nama-sendiri.

Maka akan tampil pada halaman browser seperti berikut :
Setelah kita memahami dasar controller dan view dengan contoh diatas, kita coba kolaborasikan dengan penggunaan array dan looping, dimana kita akan menampilkan 3 buah data barang. Berikut langkah-langkah nya :
Pertama kita buat file seperti file ProfileController.php, hanya kita buat dengan nama BarangController.php kemudian masukkan source code berikut :

<?php
namespace App\Http\Controllers; //tempat menyimpan file pertemuan 4//

use App\Http\Controllers\Controller; //memanggil class lain pertemuan 4//

class BarangController extends
Controller
{
 function index()
 {
  return 'Ini halaman utama web barang';
 }
 
 public function hargaBarang()
 {
  $barangs = array (
   array('nama' => 'Beras',"harga" => 10000),
   array('nama' => 'Kelapa',"harga" => 1500),
   array('nama' => 'Jeruk',"harga" => 1500),
  );
  return view('barang', compact('barangs'));
 }
}
?>
$barangs = array() : mendefinisikan array $barangs

Setelah itu, kita buat file barang.blade.php kemudian simpan di folder resource\views\ , kemudian masukkan source code berikut :

<table>
 <tr>
  <td>Nama Barang</td>
  <td> | </td>
  <td>Harga</td>
 </tr>
 <?php
 foreach ($barangs as $key => $barang) {
  ?>
  <tr>
   <td>{{$barang['nama']}}</td>
   <td> | </td>
   <td>{{$barang['harga']}}</td>
  </tr>
 <?php
 }
 ?>
</table>
Perintah foreach : digunakan untuk melakukan looping.
{{$barang['nama']}} : digunakan untuk memanggil array dengan data nama.
{{$barang['harga']}} : digunakan untuk memanggil array dengan data harga.


Kemudian tambahkan Route nya pada file web.php dengan mengetikkan :

Route::get('/list-barang', 'ProfileController@index');
Route::get('/list-barang', 'ProfileController@hargaBarang');
Setelah itu, kita jalankan pada Browser dengan mengetikkan http://localhost/laravel/public/list-barang.

Maka akan tampil pada halaman browser seperti berikut :

Tidak ada komentar:

Posting Komentar