
BASIC ROUTING
Basic Routing memiliki arti merutekan semua request kepada controller atau fungsi langsung yang kita buat pada route tersebut. Route pada aplikasi dapat didefinisikan pada file routers.php yang terdapat pada direktory app/Http dari route directory aplikasi kita, berikut contoh sintax umum yang digunakan dalam route
Route::get('/', function () {
return 'Hello World';
});
Route::post('foo/bar', function () {
return 'Hello World';
});
Route::put('foo/bar', function () {
//
});
Route::delete('foo/bar', function () {
//
});
contoh :
app/Http/routes.php
<?php
Route::get('/', function () {
return view('welcome');
});
resources/view/welcome.blade.php
<!DOCTYPE html>
<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;
}
<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>
<body>
<div class="container">
<div class="content">
<div class="title">Laravel 5</div>
</div>
</div>
</body>
</html>
berikut mekanisme route yang terjadi pada contoh tersebut
- Pertamakali, kita mengeksekusi route url aplikasi pada browser
- Eksekusi url tersebut akan dicek pada route.php dan memeriksa kemana url tersebut akan diroute, pada kasus ini kita akan melakukan route('/') dengan method GET pada fungsi yang memainggil view welcome
- Fungsi tersebut memanggil template view yang bernama welcome
yippy sejauh ini kita telah berhasil membuat basic route untuk index aplikasi kita.
ROUTING PARAMETER
Biasanya pada aplikasi yang kita buat seringkali kita mengcapture parameter yang dilewati oleh url, untuk melakukan hal tersebut kita butuh untuk memodifikasi kode pada file route.php ada 2 cara yang dapat kita lakukan untuk melakukan hal tersebut yaitu :
- Required Parameters
- Optional Parameters
Required Parameters
Parameter tersebut harus ada dalam URL. contoh : kita ingin mengcapture id dari URL dan untuk kemudian melakukan suatu aksi dengan id tersebut, berikut contoh route yang dapat kita buat :
Route::get('ID/{id}',function($id){Apapun argument yang dilewatkan oleh url (http://localhost:8000/ID/5) akan dicapture sebagai $id dan kita dapat menggunakan parameter tersebut untuk keperluan apapun, tapi kali ini kita hanya akan menampilkan ID tersebut, tapi kita juga dapat mengirimkan $id tersebut keview atau controller.
echo 'ID: '.$id;
});
Optional Parameters
Ada beberapa parameter yang boleh atau tidak boleh ada pada URL dan pada kasus kali ini kita dapat menggunakan optional parameters tersebut
Route::get('/user/{name?}',function($name = 'Virat'){Contoh :
echo "Name: ".$name;
});
routes.php
<?php1. Disini kita akan mendefinisikan 3 routes dengan method "get", gunakan perintah
// First Route method – Root URL will match this 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;
});
php artisan serve
ketika kita akses url http://localhost:8000, maka akan muncul display berikut
2 Kemudian untuk mengecek hasil yang didapat dengan Route ke-2 tambahkan parameter berikut pada url http://localhost:8000/ID/5 , utput yang dihasilkan adalah
3. Terakhir kita akan mencoba hasil untuk route 3 yang telah kita buat, ketika kita eksekusi URL http://localhost:8000/user/Virat, akan melewatkan parameter argument/parameter name akan dilewatkan sebagai variabel $name, argument terakhir adalah optional (dengan ditandai "?" pada route, yang menandakan boleh ada tapi boleh juga tidak ada). maka hasil yang didapat adalah sebagai berikut :
Baiklah sampai disini pembahasan dasar untuk route untuk lebih lengkapnya silahkan merukuk kepada dokumentasi resmi laravel pada link berikut Laravel Routing Preference
No comments:
Post a Comment