Dasar Routing pada Laravel
Dasar routing dimaksudkan untuk permintaan rute Anda ke controller sehingga sesuai dengan keperluan. Rute aplikasi dapat didefinisikan dalam file app/Http/routes.php. Berikut ini adalah rute yang umum sintaks untuk setiap permintaan yang mungkin.
Route::get('/', function () {
return 'Hello World';
});
Route::post('foo/bar', function () {
return 'Hello World';
});
Route::put('foo/bar', function () {
//
});
Route::delete('foo/bar', function () {
//
});
Sekarang Mari kita bagaimana cara menampilkan homepage Laravel dengan bantuan routing.
Contoh
app/Http/routes.php
<?php
Route::get('/', function () {
return view('welcome');
});
resources/View/welcome.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel</title>
<link href = "https://fonts.googleapis.com/css?family=Lato:100" rel = "stylesheet"
type = "text/css">
<style>
html, body {
height: 100%;
}
body {
margin: 0;
padding: 0;
width: 100%;
display: table;
font-weight: 100;
font-family: 'Lato';
}
.container {
text-align: center;
display: table-cell;
vertical-align: middle;
}
.content {
text-align: center;
display: inline-block;
}
.title {
font-size: 96px;
}
</style>
</head>
<body>
<div class = "container">
<div class = "content">
<div class = "title">Laravel 5</div>
</div>
</div>
</body>
</html>
Mekanisme routing dapat digambarkan dalam gambar berikut :
Sekarang mari kita memahami langkah-langkahnya secara lebih detail :
- Langkah 1 − Pertama, kita perlu mengeksekusi URL root dari aplikasi.
- Langkah 2 − URL yang dikompel akan sesuai dengan metode yang tepat dalam file route.php
- Langkah 3 − Fungsi pemanggilan template pada file resources/views/welcome.blade.php. Fungsi ini kemudian memanggil fungsi view() dengan argumen 'Selamat datang' tanpa menggunakan blade.php. Itu akan menghasilkan output HTML berikut.
Parameter Routing Laravel
Sering dalam aplikasi, kami bermaksud untuk menangkap parameter yang sedang berjalan dengan URL. Untuk melakukan ini, kita perlu untuk memodifikasi kode pada file routes.php. Ada dua cara dimana kita dapat menangkap parameter berlalu dengan URL.
- Required Parameters
- Optional Parameters
Required Parameters
Parameter tersebut harus hadir dalam URL. Misalnya, Anda mungkin berniat untuk menangkap ID dari URL untuk melakukan sesuatu dengan itu ID. Berikut adalah contoh pengkodean pada file routes.php.
Route::get('ID/{id}',function($id){
echo 'ID: '.$id;
});
Apapun argumen bahwa kita melewati setelah root URL (http://localhost:8000/ID/5), itu akan disimpan dalam $id dan kita dapat menggunakan parameter itu untuk diproses lebih lanjut tetapi disini kami hanya menampilkan itu. Kita dapat menyebarkan id tersebut ke View atau controller untuk diproses lebih lanjut.
Optional Parameters
Ada beberapa parameter yang mungkin atau tidak tidak akan tampil dalam URL dan dalam kasus tersebut, kita dapat menggunakan parameter opsional. Parameter yang tampak ini tidak diperlukan dalam URL. Parameter ini ditunjukkan oleh "?" tanda setelah nama parameter. Berikut adalah contoh pengkodean pada file routes.php.
Route::get('/user/{name?}',function($name = 'Virat'){
echo "Name: ".$name;
});
Contoh
routes.php
<?php
// First Route method – Root URL method
Route::get('/', function () {
return view('welcome');
});
// Second Route method – Root URL with ID will match this method
Route::get('ID/{id}',function($id){
echo 'ID: '.$id;
});
// Third Route method – Root URL with or without name will match this method
Route::get('/user/{name?}',function($name = 'Virat Gandhi'){
echo "Name: ".$name;
});
- Langkah 1 − Di sini, kami telah mendefinisikan 3 rute dengan metode get untuk tujuan yang berbeda. Jika kita menjalankan URL di bawah ini maka itu akan menjalankan metode pertama.
http://localhost:8000
- Langkah 2 − Setelah berhasil menjalankan URL diatas, maka anda akan menerima output seperti pada gambar di bawah.
- Langkah 3 − Jika kita menjalankan URL di bawah ini, itu akan menjalankan metode 2 dan argumen parameter ID akan dilewatkan ke variabel $id.
http://localhost:8000/ID/5
- Langkah 4 − Setelah berhasil menjalankan URL di atas , Maka anda akan menerima output seperti gambar dibawah ini.
- Langkah 5 − jika kita menjalankan URL di bawah ini, itu akan menjalankan metode 3 dan nama argumen/parameter opsional akan dilewatkan ke variabel $name. Argumen terakhir 'Virat' opsional.
http://localhost:8000/Virat
- Langkah 6 − Setelah berhasil menjalankan URL diaatas, maka anda akan menerima output seperti gambar dibawah ini.