Tutorial Laravel 8 - Belajar dan Memahami Route Part #1
Walaupun ada perbedaaan dalam penulis, pengguna versi sebelumnya tidak akan kesulitan dalam mempelajarinya. Selain itu, ada penambahan fitur pada route di Laravel 8. Tentu saja ini menjadi kabar baik buat penggemar setiap Laravel.
Baca Juga: Tutorial Laravel 8 - Installasi
Melalui artikel ini, kita akan belajar dasar-dasar route di Laravel 8 sampai ke tahap berikutnya dan disertai contoh. Yuk kita simak ulasannya ...
Belajar Route Dasar di Laravel 8
Route yang paling dasar di Laravel 8 adalah memberikan URI dan closure di setiap functionnya. Kita dapat menulis sintaks seperti ini:
Route::get('hello', function () { return 'Hello World'; });
Jika program di jalankan, maka akan menampilkan hasil "Hello World".
Cukup mudah bukan?
Memanggil Controller di Dalam Route
Menyambungkan route dengan controller adalah hal yang sering kita lakukan dalam membangun aplikasi berbasis web menggunakan Laravel. Ada perbedaan cara penggunaaan route dengan versi sebelumnya.
Versi Sebelumnya:
Route::get('/user', 'UserController@index');
Versi Laravel 8:
use App\Http\Controllers\UserController; Route::get('/user', [UserController::class, 'index']);
Dari cara penulisan kita bisa melihat perbedaan yang begitu nyata di Laravel 8. Kita perlu memanggil controller dulu dengan use nama_controller
baru bisa mendefinisikannnya pada route. Sedangkan pada versi sebelumnya, kita tinggal mengetikan nama controllernya saja.
Method yang Tersedia di Laravel 8
Tidak lengkap jika kita tidak tahu method-method apa saja yang tersedia di Laravel 8. Kamu bisa melihat method yang tersedia di Laravel 8 pada contoh di bawah ini:
Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback);
Jadi, method yang dapat kita gunakan adalah get, post, put, patch, delete dan option.
Boleh jadi kita menggabungkan 2 method dalam satu route yang sama. Contohnya:
Route::match(['get', 'post'], '/', function () { // }); Route::any('/', function () { // });
Redirect Route
Kita bisa membuat satu route yang dapat diredirect ke halaman yang kita tuju. Contoh:
Route::redirect('/hello', '/url_tujuan');
By default, Route::redirect
akan menghasilkan status code 302
.
Kita bisa mengubahnya dengan cara:
Route::redirect('/hello', '/url_tujuan', 301);
View Route
Jika kamu ingin menuju suatu view (tanpa melalui controller), maka kamu bisa menambahkan view route. Contoh:
Route::view('/hello', 'hello');
Dengan mengetik URL /hello
maka akan diarahkan ke resources/views/hello.blade.php
.
Kita juga bisa menambahkan parameter di dalam view route. Contoh:
Route::view('/welcome', 'welcome', ['name' => 'Wildan Fuady']);
Route Parameter
Jika kita ingin memberikan parameter di route, kita masih menggunakan pola yang sama dengan versi sebelumnya. Contoh:
use App/Http/Controllers/UserController; Route::redirect('/user/{id}', [UserController::class, 'show']);