Route Pada Laravel
Seluruh route aplikasi didefinisikan di dalam folder
routes
. File-file yang ada didalamnya secara otomatis dimuat oleh Laravel. Adapun file yang penting sebagai berikut :Nama File | Keterangan |
web.php | Pada file ini didefinisikan route-route untuk antarmuka berbasis web, yang ditempatkan pada grup middleware web yang tersedia fitur seperti session dan CSRF (cross site request forgery) |
api .php | Pada file ini didefinisikan route-route yang stateless dan ditempatkan pada grup middleware api |
Bentuk Dasar Route
Bentuk sederhana dari route hanya berisi URI (Uniform Resource Identifier) dan sebuah closure (fungsi yang tidak ada namanya), seperti berikut ini :
Route::get(‘/’, function () {
return ‘Selamat Datang’;
});
Buka file routes/web.php selanjutnya ketikan kode tersebut, selanjutnya buka web browser (chrome atau firefox) arahkan ke url http://localhost/[nama_projek]/public outputnya seperti pada gambar 1 berikut :
Route Dengan Controller
untuk membuat route dengan controller masukan kode berikut pada routes/web.php sebagai berikut :
<?php
Route::get('/',['uses'=>'HomeController@index','as'=>'home.index']);
Route::get('/about',['uses'=>'HomeController@about','as'=>'home.about']);
Route::get('/help',['uses'=>'HomeController@about','as'=>'home.help']);
?>
Selanjutnya buat file HomeController.php letakan di direktori app/Http/Controllers, Kemudian tulislah kode berikut :
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppHttpControllersController;
class HomeController extends Controller {
public function index ()
{
return "ini Index";
}
public function about ()
{
return "ini about";
}
public function help ()
{
return "ini help";
}
}
?>
Daftar Route
Laravel menyediakan perintah untuk menampilkan daftar route yang ada didalam aplikasi dengan menggunakan artisan, seperti berikut pada cmd
php artisan route:list
Method Route
Laravel memiliki beberapa metod merespon request http sebagai berikut :
- Route::get($uri, $callback);
- Route::post($uri, $callback);
- Route::put($uri, $callback);
- Route::patch($uri, $callback);
- Route::delete($uri, $callback);
- Route::options($uri, $callback);
Route::match([‘get’, ‘post’], ‘/’, function () {
//
});
Route::any(‘foo’, function () {
//
});
Route Group
});
Berikut adalah contoh penggunaan Route::group, dimana kodenya memodifikasi dari latihan sebelumnya.
<?php
Route::group(['prefix'=>'admin','middleware'=>['web']],function(){
Route::get('/',['uses'=>'HomeController@index','as'=>'home.index']);
Route::get('/about',['uses'=>'HomeController@about','as'=>'home.about']);
Route::get('/help',['uses'=>'HomeController@help','as'=>'home.help']);
});
Saat mengaksesnya, maka url yang valid diawali dengan ‘admin’, seperti gambar 3 berikut ini
http://localhost/[nama_project]/public/admin/about
Informasi Route
Gunakan metod current, currentRouteName dan currentRouteAction untuk memperoleh informasi mengenai request yang sedang ditangani.
$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
Bila ingin mendapatkan informasi tambahan mengenai metod-metod yang route bisa digunakan silahkan baca dokumentasi API yang disediakan oleh Laravel di alamat url https://laravel.com/api/5.8/Illuminate/Routing/Route.html
Posting Komentar untuk "Route Pada Laravel"