Memahami Laravel tentang Routing-nya - Dunia Laravel
Sekarang kalian udah semakin akrab sama laravel.
Kalo ada yang masih ngerasa belum akrab bisa melakukan pendekatan diri kelaravel lagi kok.
Setelah kalian punya folder project kalian sendiri,
sekarang waktunya kita memahami isi dari folder-folder itu. Tapi sekarang ga
akan semuanya di bahas… panjang cuy. Sekarang aku mau bahas tentang Routing aja
dulu.
Table of Contents
- What is Routing?
- Where is Routing?
- Basic Route
- Router Methods
- Route Parameters
- Route Groups
- Checking Route
- What's Next?
What is Routing?
Routing, diambil dari kata Route yang berarti rute atau jalan, dan ditambah verb –ing menjadikan kata itu jadi kata kerja
(Present Continous Tense). Jadi yang
dimaksud Routing, tidak lain dan tidak bukan adalah cara yang dilakukan untuk
mencapai tujuan (tempat) yang diinginkan. Dalam laravel tujuan yang dimaksud
adalah alamat atau url.
Where is Routing?
Ada di folder routes. Di sana ada beberapa jenis
route, ada API, Channel, Console, dan Web. Tapi yang mau aku bahas kali ini
Cuma bagian web nya aja. Soalnya route yang lain beda penggunaannya, jadi lain
kali yak…
Basic Route
Aku yakin habis kalian buka file web.php nya, kalian
akan lihat kode seperti ini.
Route::get('/', function () {
return view('welcome');
});
Apa artinya? Maksudnya adalah, program akan
mengembalikan view “welcome” jika kalian mengakses URI “/” atau url root
kalian. Jika dalam localhost, maka url root kalian adalah “127.0.0.1:8000/”
(‘8000’ menyesuaikan dengan port yang kalian gunakan). Jadi route itu adalah
url yang pertama kali diakses pada saat membuka website kalian. Hasilnya adalah
seperti gambar dibawah.
Kalian juga bisa mengganti URI nya dari “/” ke
“/yang-di-inginkan”. Tapi nanti yang kalian akses adalah
“127.0.0.1:8000/yang-di-inginkan”.
Route::get('/dunia-laravel', function(){
return "dunia laravel";
});
Salah satu contoh menggunakan URI “/dunia-laravel”.
Hasilnya adalah seperti ini.
Syntax diatas hanya digunakan untuk memanggil tampilan
saja. Bagaimana cara membuat suatu prosesnya? Kalian bisa taruh fungsi
sederhana sebelum return atau bisa
menggunkaan controller, tapi itu ga
akan dibahas di sini… Sekarang bahas Route lagi. Syntax yang digunakan untuk
memanggil tampilan tidak hanya seperti yang diatas. Ada cara lain yang
dikhususkan untuk memanggil tampilan atau biasa disebut view.
Route::view('/langsung-view', 'tampilan_dasar');
Route::view('/langsung-view', 'tampilan_dasar', ['nama' => 'Dunia Laravel']);
Arti syntax diatas adalah, website akan membuka
tampilan bernama ‘tampilan_dasar’ yang berada di folder ‘resource/view’ jika
kita mengakses ‘/langsung_view’. Sementara untuk syntax yang bawah sama seperti
syntax atas, hanya saja dia akan membawa variable ‘nama’ yang berisi ‘Dunia
Laravel’.
<body>
Ini adalah halaman langsung
<br>
<h1>{{$nama}}</h1>
</body>
Kode di atas adalah kode dalam tampilan ‘tampilan_dasar’.
Coba kita lihat hasilnya saat alamatnya di akses.
Tampilan diatas adalah tampilan saat route yang menggunakan variable di akses.
Bagaimana yang tidak menggunkan variable?
Bayangin aja halaman yang sama tapi tulisan “Dunia Laravel” nggak ada hehe…
Atau jika kalian
ingin menggunakan redirect laravel
juga punya route nya. Syntax-nya kaya gini.
Route::redirect('/link-redirect', '/');
Route redirect
ini, dia akan ngarahin user yang masuk ke alamat ‘/link-redirect’ ke alamat ‘/’
atau alamat root website kalian. Buat liat hasilnya coba sendiri yak… karena ga
bisa aku screenshot hehe…
Router Methods
Method di laravel banyak macamnya. Yang tadi kita
coba adalah method GET
Route::get($uri, $callback);
GET biasanya digunakan untuk mengambil data pake
parameter ataupun ga. Yang kedua ada method POST
Route::post($uri, $callback);
POST digunakan untuk mengirimkan suatu data ke
sebuah source, dan mengakibatkan perubahan data pada server. Biasanya untuk
input data. Kemudian ada PUT
Route::put($uri, $callback);
PUT ini hampir sama kaya POST, bedanya PUT mengubah
data yang udah ada. Jadi singkatnya seperti mengedit data pada server. Lalu ada
DELETE
Route::delete($uri, $callback);
Seperti namanya, DELETE artinya menghapus. Maka
method ini digunakan untuk menghapus data pada server. Selanjutnya ada PATCH
Route::patch($uri, $callback);
Sama seperti PUT digunakan untuk mengedit data.
Bedanya PATCH hanya memproses sebagian data, sementara PUT secara proses dia
akan me-replace semua data yang ada di server walaupun sebenernya datanya tidak
diubah. Dan yang terakhir adalah OPTIONS.
Route::options($uri, $callback)
Method OPTIONS digunakan untuk mencari tahu, akses
method apa aja yang disediakan sama si server.
Banyak ya? Tapi dari keseluruhan method-method itu
yang sering di pake ada GET, POST, PUT, dan DELETE. Karena sebenernya hanya
dengan 4 method itu CRUD sudah bisa dibentuk.
Route Parameters
Sekarang kita akan cari tahu caranya lempar data
selain dari cara yang udah ditulis di atas. Disini kita sekalian coba membuat
fungsi sederhana di route.
Pertama, untuk lempar data tunggal.
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
Jika kita isi post dengan ‘Laravel’ dan comment
dengan ‘Keren!!!’. Maka yang akan ditampilkan adalah ‘Judul post Laravel memiliki komentar Keren!!!’
Route Groups
Ini digunakan buat mengelompokan route yang punya
kesamaan. Jadi biar ga terlalu banyak nulis ulang hal-hal yang sama, kalian
bisa pake ini buat mengelompokan route-route nya.
Misal jika kita ingin membuat sebuah alamat yang
semuanya diawali dengan alamat ‘admin/’. Kita bisa menggunakan group ini.
Route::prefix('admin')->group(function (){
route::get('login', function(){
return 'halaman login admin';
});
route::get('dashboard', function(){
return 'halaman dashboard admin';
});
});
Pada kode diatas, kita membuat 2 route dengan alamat
‘admin/login’ dan ‘admin/dashboard’. Namun kita cuma
mendeklarasi alamat ‘admin’ nya sekali.
Group ini juga punya kegunaan lain selain
mengelompokan alamat. Bisa juga mengelompokan Middleware, Namespace
dan lainnya yang akan kalian pelajari lebih lanjut nantinya (kalo niat hehe).
Checking Route
Kita bisa lihat daftar route yang tadi udah dibuat
lewat cmd. Caranya adalah kalian mengetikan perintah
php artisan route:list
Ini digunakan agar daftar route bisa dilihat dengan
mudah. Kalo jumlah route nya masih sedikit mungkin ga masalah, tapi kalo udah
banyak perintah ini jadi sangat berguna. Ini adalah tampilannya.
Jadi begitu penjelasan tentang routing laravel. Penjelasan
di atas itu cuma tentang hal-hal yang paling sering dilakukan saat membuat
project pake laravel. Tapi sebenernya routing di laravel masih banyak lagi.
Kalian bisa lihat penjelasannya di dokumentasi laravel sendiri. Soalnya kalo
dibahas semua disini bakal panjang banget… nanti jadi ga enak dibaca.
Lanjut ga nih guys? Masa
ga kuy?
What’s Next?
Komentar
Posting Komentar