Passing data adalah proses mengoper data. data yang dioper adalah data yang ada pada controller ke view untuk ditampilkan.
Cara untuk mempassing atau oper data ke view pada laravel, kita bisa mengirim datanya dalam parameter ke 2 pada fungsi view().
Kita telah belajar tentang penggunaan fungsi view() pada tutorial route dan view sebelumnya.
Fungsi view() kita gunakan untuk memanggil view yang ingin ditampilkan. nah, data yang ingin di passing kita letakkan pada parameter ke 2 dalam fungsi view. Parhatikan contoh berikut.
Jika teman-teman mengikuti seri tutorial lengkap laravel di www.malasngoding.com, sebelumnya kita telah membuat controller DosenController. Untuk teman-teman yang belum membaca tutorial laraval dari part 1 sampai part 4 ini, silahkan cek tutorial sebelumnya dulu agar pembahasan kita lebih nyambung.
Memanggil View Dari Controller Laravel
Kita mulai dengan memanggil atau menampilkan view dari controller DosenController yang sudah kita buat pada tutorial laravel part sebelumnya.
Buka controller DosenController, pada belajar_laravel/app/Http/Controllers/DosenController.php.
Pada tutorial sebelumnya kita telah membuat method index() pada controller DosenController. untuk me-return atau mengembalikan string. seperti pada syntax di gambar di atas dan syntax berikut.
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class DosenController extends Controller
{
public function index(){
return “Halo ini adalah method index, dalam controller DosenController. – www.malasngoding.com”;
}
}
|
Sekarang kita akan mencoba memanggil atau menampilkan view dari controller, jadi sampai di sini kita tidak lagi menampilkan view dari route seperti cara sebelumnya.
Karena Cara sebelumnya kita hanya berkenalan dengan route dan cara pemanggilan view, cara benar nya adalah view tetap di panggil dari controller untuk ditampilkan.
Buat view baru, di sini kita akan menampilkan view biodata. jadi biat sebuah file view baru lagi dalam folder views. buat dengan nama biodata.blade.php.
Untuk nama view nya terserah teman-teman asalkan ekstensinya tetap menggunakan .blade.php seperti cara membuat view pada laravel yang sudah dijelaskan pada tutorial sebelumnya.
belajar_laravel/resources/views/biodata.blade.php
1
2
3
4
5
6
7
8
9
10
11
12
|
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Laravel #4 : Passing Data Controller Ke View Laravel – www.malasngoding.com</title>
</head>
<body>
<h1>Tutorial Laravel</h1>
<a href=“https://www.malasngoding.com/category/laravel”>www.malasngoding.com</a>
</body>
</html>
|
Selanjutnya pada method index dalam controller DosenController kita panggil view biodata.blade.php ini.
belajar_laravel/app/Http/Controllers/DosenController.php
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class DosenController extends Controller
{
public function index(){
return view(‘biodata’);
}
}
|
Sekarang pada saat kita mengakses localhost:8000/dosen atau localhost/belajar_laravel/public/dosen, maka akan ditampilkan view dosen.blade.php.
Karena pada part sebelumnya yaitu pada tutorial cara membuat controller pada laravel, kita telah memerintahkan route βdosenβ menjalankan controller DosenController dan method index pada saat route βdosenβ di akses.
Oke teman-teman sekarang kita akan mengakses route βdosenβ.
Jangan lupa menjalankan βphp artisan serveβ dulu ya teman-teman.
localhost:8000/dosen
Maka hasilnya.
Selanjutnya kita akan belajar mengoper data dari dari controller DosenController (method index) ke view biodata.
Passing Data Dari Controller Ke View Laravel
Seperti yang sudah disinggung pada awal sub judul tutorial ini, untuk memparsing data dari controller ke view, kita bisa mengirimkannya pada parameter kedua pada fungsi view(). contoh, silahkan buka lagi method index() pada controller DosenController.
belajar_laravel/app/Http/Controllers/DosenController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class DosenController extends Controller
{
public function index(){
$nama = “Diki Alfarabi Hadi”;
return view(‘biodata’,[‘nama’ => $nama]);
}
}
|
Perhatikan pada syntax di atas, pada syntax di atas kita membuat sebuah variabel yang menyimpan data nama βDiki Alfarabi Hadiβ.
Kemudian pada bagian
1
|
[‘nama’ => $nama]
|
kita mengirimkan data variabel nama. selanjutnya pada view biodata.blade.php, kita bisa langsung menampilkan data yang ada dalam variabel nama. buka view biodata.blade.php.
belajar_laravel/resources/views/biodata.blade.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Laravel #4 : Passing Data Controller Ke View Laravel – www.malasngoding.com</title>
</head>
<body>
<h1>Tutorial Laravel</h1>
<a href=“https://www.malasngoding.com/category/laravel”>www.malasngoding.com</a>
<br>
<p>Nama : {{ $nama }}</p>
</body>
</html>
|
Perhatikan pada syntax di atas. kita bisa langsung menampilkan data yang ada dalam variabel nama tadi hanya dengan menuliskan syntax {{ $nama }} .
Jadi kita tidak perlu lagi menuliskannya dengan cara membuka tag php ( <?php β¦β¦. ?>).
Ini lah kelebihan dari sistem template blade dari laravel ( .blade.php ). segala penggunaannya semacam sudah dipermudah untuk kita dalam menggunakan laravel.
Oke kita lihat hasilnya, localhost:8000/dosen.
Passing Data Array Ke View Laravel
Untuk mengoper data array ke view laravel, perhatikan contoh berikut.
belajar_laravel/app/Http/Controllers/DosenController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class DosenController extends Controller
{
public function index(){
$nama = “Diki Alfarabi Hadi”;
$pelajaran = [“Algoritma & Pemrograman”,“Kalkulus”,“Pemrograman Web”];
return view(‘biodata’,[‘nama’ => $nama , ‘matkul’ => $pelajaran]);
}
}
|
Perhatikan pada syntax di atas, data array yang kita masukkan dalam variabel pelajaran bisa langsung kita passing ke view, dengan cara yang sama, data-data yang dikirim ke view tinggal kita pisahkan dengan tanda koma β , β.
1
|
[‘nama’ => $nama , ‘matkul’ => $pelajaran]
|
Pada contoh data array yang dikirim di atas, data array kita masukkan dalam variabel pelajaran, kemudian kita kirimkan dengan nama βmatkulβ. jadi pada view kita akan mengakses dengan nama βmatkulβ.
Buka view biodata.blade.php lagi.
belajar_laravel/resources/views/biodata.blade.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Laravel #4 : Passing Data Controller Ke View Laravel – www.malasngoding.com</title>
</head>
<body>
<h1>Tutorial Laravel</h1>
<a href=“https://www.malasngoding.com/category/laravel”>www.malasngoding.com</a>
<br>
<p>Nama : {{ $nama }}</p>
<p>Mata Pelajaran</p>
<ul>
@foreach($matkul as $m)
<li>{{ $m }}</li>
@endforeach
</ul>
</body>
</html>
|
Perhatikan pada syntax di atas, data array matkul yang dikirimkan dari controller kita tampilkan dengan menggunakan foreach(). karena datanya dalam bentuk array.
Data variabel matkul kita ubah menjadi variabel m dalam fungsi foreach. kemudian kita tinggal menampilkan variabel m seperti pada syntax di atas.
Untuk penulisan fungsi foreach dan perulangan lainnya dalam template blade laravel kita juga tidak perlu menulisakan tag php. kita bisa menggungakan tanda @ langsung.
Kita lihat hasilnya.
Sampai di sini selesai sudah materi kita tentang Passing Data Controller Ke View Laravel.
Pada tutorial laravel part 4 ini, Kita telah belajar cara memanggil view dari controller, belajar cara mengoper data dan data array dari controller ke view.