Pengenalan Dasar Routing di Laravel

ini adalah lanjutan dari tutorial laravel sebelumnya, anda bisa membaca tutorial sebelumnya disini atau disini

Pada artikel lanjutan berikut ini, kita akan belajar dasar routing di laravel, routes atau routing adalah proses untuk mengambil endpoint URL kemudian dilanjutkan dengan memecah komponen komponen URL tersebut dan dilanjutkan dengan memanggil script PHP.

Routes atau routing di PHP adalah proses untuk mengambil endpoint URL kemudian dilanjutkan dengan memecah komponen komponen URL tersebut dan dilanjutkan dengan memanggil script PHP

konsepnya hampir sama dengan rewrite engine, yaitu memodifikasi URL atau biasa disebut URL Rewritting, di PHP mungkin kita sudah akrab dengan mod_rewrite nya apache, yaitu modul apache yang digunakan untuk URL Rewritting

dasar laravel route

semua routing di laravel di definiskan di folder routes, pada folder belajar-laravel yang sudah dibuat pada tutorial sebelumnya, buka folder routes dan buka file web.php

pada file tersebut sudah terdapat script berikut :

Route::get('/', function () {
    return view('welcome');
});

maksud dari script ini adalah ketika user melakukan request ke halaman http://www.namaweb.com, maka laravel akan me-route request tersebut ke file view welcome.blade.php.

sekarang kita tambahkan script berikut dibawahnya :

Route::get('/halo',function(){
    echo "Halo, Selamat Datang di Belajar Laravel"
});

kemudian jalankan server development aplikasi lewat command prompt :

cd belajar-laravel
php artisan serve

dan buka browser kita, buka URL http://localhost:8000/halodari sini mungkin kita sudah bisa mendapatkan gambaran sedikit, kita tidak bisa mengakses langsung file php kita dari browser, semua harus melewati yang namanya route ini, dan kita sendiri yang bisa mengatur apa saja yang bisa di akses.

menambahkan parameter di route

kita juga bisa menambahkan parameter pada route di laravel, contoh kita ganti script sebelumnya dengan ini :

Route::get('/halo/{nama}',function($nama){
    echo "Halo $nama, Selamat Datang di Belajar Laravel"
})

kemudian buka halaman http://localhost:8000/halo/indra

perlu diperhatikan script diatas membuat halaman http://localhost:8000/halo tidak bisa di akses, dan akan muncul pesan halaman berikut :

itu karena saat kita mendefinisikan route dengan menambahkan parameter, parameter tersebut wajib di isi, agar parameter menjadi optional kita tambahkan ?

Route::get('/halo/{nama?}',function($nama=""){
    echo "Halo $nama, Selamat Datang di Belajar Laravel"
})

Mengakses view

kita juga bisa langsung mengakses file view langsung dari route tanpa harus melalui controllers, contohnya adalah script pada awal artikel ini :

Route::get('/', function () {
    return view('welcome');
});

script ini akan melakukan redirect ke view welcome.blade.php.
bisa juga didefinisikan seperti berikut :

Route::view('/','welcome');

mengakses controller

untuk bisa mengakses controller dari route, contoh :
Route::get('/user','UserController@index')
fungsi diatas akan mengakses method index di class UserController

redirect dari satu route ke route lain

Route::redirect('/', '/helo', 301);
script di atas akan meredirect halaman http://localhost:8000/ ke halaman http://localhost:8000/halo

Demikian pengenal dasar routing di laravel, semoga bisa bermanfaat.