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

Postingan Populer