DASAR TEORI
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.
Maka akan tampil pada halaman browser seperti berikut :
{{$barang['nama']}} : digunakan untuk memanggil array dengan data nama.
{{$barang['harga']}} : digunakan untuk memanggil array dengan data harga.
Maka akan tampil pada halaman browser seperti berikut :
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 :
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