Belajar Laravel (Chapter 3 | Tutorial Routing)
Route merupakan kumpulan alamat yang tersedia pada project Laravel, ketika ada request yang masuk pada project laravel, routes akan mengenali apakah url yang diakses terdaftar pada route atau tidak, jika url tidak ada akan di redirect ke halaman 404.
Scope of This Chapter
Memahami berbagai perintah router di Laravel serta penggunaan dengan controller.
Basic Routing
Contoh penggunaan route yang paling mendasar adalah sebagai berikut :
Route::get('test', function () {
return 'Test';
});
Pada Laravel 7.x routing terbagi menjadi 4 file yang terdapat di folder routes:
routes/web.php
routes/web.php adalah file routing yang digunakan untuk pada tampilan web, route ini masuk dalam group middleware web yang memiliki fitur session dan CSRF protection. Contohnya jika kita ingin membuat route yang akan diarahkan ke url http://laravel.local/user di browser, maka penulisan routenya seperti:
Edit file routes/web.php, lalu tambahkan kode berikut ini:
Route::get('/user', 'UserController@index');
routes/api.php
routes/api.php adalah file routing yang digunakan untuk pembuatan Rest API, route ini masuk dalah group middleware api yang tidak memiliki fitur session, bisa menggunakan basic auth atau JWT. Contohnya jika kita ingin membuat route yang akan diarahkan ke url http://laravel.local/api/user. maka penulisan routenya seperti:
Edit file routes/api.php, lalu tambahkan kode berikut ini:
Route::get('/user', function(Request $request) {
return $request->user();
});
kita tidak perlu menuliskan /api/user pada routes/api.php. Karena semua route yang terdapat pada api.php masuk dalam group dengan awalan url /api/
routes/console.php
route yang berjalan di Artisan Console atau command terminal. contohnya
php artisan inspire
routes/channels.php
route yang digunakan untuk membuat broadcast channel, implementasinya jika kita ingin menggunakan WebSockets untuk realtime, live updating tampilan web.
Selain 4 file diatas kita juga bisa menambah file routing, seperti route khusus untuk admin routes/admin.php kemudian kita daftarkan file tersebut ke app/Providers/RouteServiceProvider.php.
Router Methods
Pada route Laravel kita bisa menggunakan beberapa jenis HTTP method, kita bahas yang paling sering digunakan.
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback); (saya belum pernah pakai)
Route::delete($uri, $callback);
Route::options($uri, $callback);
GET
Method yang digunakan mengakses data dari server, seperti contoh mengakses url dari browser atau untuk mengakses data pada API, untuk contoh penulisannya:
Route::get($uri, $callback);
POST
Method yang digunakan untuk create atau tambah data ke server/database, contoh penulisannya:
Route::post($uri, $callback);
PUT
Method ini digunakan untuk mengupdate data yang sudah ada pada server/database. Data yang ada di form tidak terlihat pada UR, contoh penulisannya:
Route::put($uri, $callback);
PATCH
Kegunaannya hampir sama dengan method PUT
Route::patch($uri, $callback);
DELETE
Method delete digunakan untuk menghapus data pada server/database.
Route::delete($uri, $callback);
Jika kita ingin menggunakan route dengan multiple HTTP method bisa menggunakan match method.
Route::match([‘get’, ‘post’], ‘/user’, ‘UserController@index’);
Jika ingin route bisa merespon semua HTTP method menggunakan any method.
Route::any(‘/user’, ‘UserController@index’);
Next Chapter
https://medium.com/dotlocal/belajar-laravel-chapter-4-kupas-tuntas-controllers-ca47fe0154fa
Support the Author
Jika ada yang mau saran dan support saya untuk menulis, bisa hubungi saya di email tobidsn@gmail.com
Cheers
Tobi Ahmad
Founder of Dot Local