Pada artikel kali ini kita akan membahas bagaimana cara mengirim / passing data dari router / controller ke view pada Laravel.
Menggunakan Route::view
public function view(string $uri, string $view, array $data = [])
Seperti kita lihat method view pada class \Illuminate\Routing\Router
menerima 3 parameter, kita telah membahas 2 parameter pertama pada artikel Memahami Routing pada Laravel. Pada artikel kali ini kita akan membahas mengenai parameter ketiga yaitu data yang merupakan sebuah array.
Parameter ketiga pada method view
yaitu merupakan data yang akan kita kirimkan ke view yang didefinisikan pada parameter kedua. Contoh, kita akan mengirimkan data daftar artikel ke view blog.
Route::view('blog', 'blog', [
'posts' => [
'Install Laravel',
'Memahami Routing pada Laravel'
],
]);
Menggunakan helper view
function view(string $view = null, array $data = [], array $mergeData = [])
Helper view
merupakan shortcut atau helper yang memanggil method make
dari class \Illuminate\View\Factory
. Method ini berfungsi untuk merender view dan menampilkannya pada user.
Sama halnya dengan menggunakan Route::view
, kita perlu mengirim parameter $data agar bisa di tampilkan pada view.
Route::get('blog', function () {
return view('blog', [
'posts' => [
'Install Laravel',
'Memahami Routing pada Laravel',
]
]);
});
Helper view bisa dipanggil juga di dalam controller action
Route::get('blog', 'BlogController@index');
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class BlogController extends Controller
{
public function index()
{
return view('blog', [
'posts' => [
'Install Laravel',
'Memahami Routing pada Laravel',
]
]);
}
}
Untuk menampilkan data pada view, kita akan mengambil array keys dari parameter $data
sebagai variable yang akan kita panggil di view.
<h1>Halaman Blog</h1>
<ul>
@foreach ($posts as $post)
<li>{{ $post }}</li>
@endforeach
</ul>
No Comments
Leave a comment Cancel