Apa itu route? Mengenal Route pada Laravel

Hallo semuanya, sebelum kita mulai sebaiknya kita berdoa terlebih dahulu agar semua pengetahuan yang kita terima dapat bermanfaat bagi hidup kita. aamiin. 

Kita akan lanjut kepembahasan tentang routing di Laravel ..

Routing sendiri adalah proses pengiriman data maupun informasi ke pengguna melalui sebuah permintaan yang dilakukan kepada alamat yang sudah terdaftar, lalu alamat tersebut akan memproses dari permintaan kita tadi. Setelah proses selesai maka akan mengembalikan sebuah output atau hasil dari proses tersebut.

Dan di Laravel ada sebuah fitur yang digunakan untuk mendaftarkan semua alamat tersebut atau kita kenal dengan nama URI (Uniform Resource Identifier), fungsinya agar pengguna dapat mengetahui setiap alamat yang bisa diakses berdasarkan respon dari HTTP verb.

Image for post

Di dalam folder project laravel kita, disana terdapat folder routes. Dimana terdapat 4 file yaitu api.php, channels.php, console.php, web.php . Dari ke empat file ini memiliki fungsi masing-masing .. yaitu :

  • api.php : File ini digunakan untuk membuat routing API. Yapz, di dalam file ini kita juga dapat membuat core service API dengan menggunakan Laravel.
  • channels.php : File ini digunakan untuk membuat routing yang bersifat broadcasting event, seperti notification.
  • console.php : File ini digunakan untuk membuat routing command yang berjalan di terminal. Jadi kita juga bisa membuat perintah artisan kita sendiri.
  • web.php : File ini digunakan untuk membuat routing web biasa.

Nah setelah kita berkenalan dengan route yang ada di Laravel kita akan langsung mencobanya saja agar tidak kelamaan bingungnya atau malah tambah bingung 😂

Sebelum itu kita akan berkenalan dengan #Method Yang Tersedia Pada Route Laravel .. Ada 6 jenis method yang bisa digunakan pada route Laravel untuk merespon HTTP verb, antara lain:

Laravel Routing

#Basic Routing

Menyediakan metode yang sangat sederhana dan ekspresif dalam mendefinisikan rute. Dimana Route Laravel yang paling dasar hanya menerima uri .. kita dapat menambahkan source ini ke dalam file routes/web.php

Route::get('/belajar-route', function () {
return 'Hello World';
});

Keterangan:

  • get merupakan method yang diizinkan untuk menjalankan fungsi pada route.
  • ‘/belajar-route’ merupakan alamat URI yang ingin diakses untuk menjalankan sebuah fungsi pada route.
  • return ‘Hello World’; merupakan callback function yang akan dijalankan ketika suatu URI diakses dengan method yang sesuai.

Silahkan run laravel anda dan output dari hasilnya akan seperti gambar dibawah ini ..


Image for post

#Route Parameters
Terkadang saat membuat sebuah URI, kita perlu mengambil sebuah parameter yang merupakan bagian dari segmen URI dalam route kita.

Misalnya, kita mungkin perlu mengambil ID dari URI. Anda dapat melakukannya dengan menentukan parameter route .. silahkan coba tambahkan source dibawah ini ke dalam file routes/web.php (ini maksudnya ada di folder routes dengan nama file web )

Route::get('/belajar/{page}', function ($page) {
return "Hello, ini halaman Belajar Route ".$page;
});

Image for post

Keterangan:

  • '/belajar/{page}' merupakan alamat URI yang memiliki nilai parameter saat akan diakses untuk menjalankan sebuah fungsi pada route.
  • function ($page) merupakan fungsi yang menangkap nilai dari parameter.
  • return "Hello, ini halaman Belajar Route ".$page; merupakan callback function yang akan dijalankan ketika suatu URI diakses dengan method yang sesuai.
  • Namun, apabila nilai parameter tidak dimasukan .. maka page tidak akan ditemukan

Image for post

#Optional Parameters
Kita dapat menentukan nilai parameter route, tetapi menjadikan nilai parameter route tersebut opsional. Pastikan untuk memberikan variabel yang sesuai pada route sebagai nilai default

Oke, sekarang kita coba buat parameters optional .. tambahkan source ini di file routes/web.php

Route::get('/belajar-optional/{page?}', function ($page=1) {
return "Hello, Anda sedang mengakses halaman ".$page;
});

Lanjut.. jika sudah ditambahkan, silahkan di run ..


Image for post

Image for post

Jeng jeng .., meski nilai parameter tidak kita tambahkan pada URI, halaman tetap bisa diakses dengan menampilkan nilai parameter secara default. Nah saat kita memasukan nilai parameternya, ouputnya sesuai dengan hasil yg kita masukan.

#Named Routes
Route ini memungkinkan generasi URL yang mudah digunakan atau pengalihan untuk route tertentu. Kita dapat menentukan nama untuk route dengan merantai metode nama ke definisi rute.

Route::get('example/profile', function () {
echo "Hello User!";
})->name('profile');

Anda juga dapat menentukan nama route untuk tindakan pengontrol.

Route path: -

Route::get('abc/profile', 'AccountController@nameRoute')->name('pic');

Controller path: -

public function nameRoute()
{
return "Hello World!";
}

Generating URLs To Named Routes
Setelah kita menetapkan nama ke route tertentu, kita dapat menggunakan nama route saat membuat URL atau pengalihan melalui fungsi route global.

$url = route('profile');
return redirect()->route('profile');

Jika route bernama mendefinisikan parameter, Anda dapat meneruskan parameter sebagai argumen kedua ke fungsi route. Parameter yang diberikan secara otomatis akan dimasukkan ke URL di posisi yang benar.

oute::get('Admin/{id}/profile', function ($id) {
$url = route('profile', ['id' => 1]);
return "Print Always Same Result";
})->name('profile');
 
 
Ade Setiyawan

kami adalah penggemar teknologi, pendidikan dan musik yang suka dengan membagi pengetahuan dan sharing sehingga akan menambah wawasan.

39 Komentar

Silahkan isi komentar jika ada pertanyaan, saran atau kritik. Bantu kami untuk lebih berkembang.

Lebih baru Lebih lama