Pengetahuan dasar dalam sebuah framework yang mesti dipahami adalah routing di laravel atau route di laravel. Routing adalah cara modern dalam pengembangan aplikasi berbasis web, cara ini lebih aman dan efisien.
Pengertian Routing Di Laravel
Namun pertama-tama yang mesti kita bahas adalah apa itu routing atau route di laravel?
Baca juga: Mengenal Laravel Lebih Dalam
Kalau kita artikan bisa berarti rute atau jalan menuju suatu tempat, begitu juga route atau routing di laravel adalah sebuah jalan menuju suatu halaman tertentu.
Routing di laravel atau route adalah sebuah url, atau alamat menuju halaman tertentu agar bisa di akses melalui web browser sehingga memudahkan kita saat berpindah halaman, dari halaman A ke halaman B atau sebaliknya dan seterusnya.
Konfigurasi Route Di Laravel
Route di laravel sendiri dibagi menjadi beberapa bagian dan masing-masing bagian tersebut memiliki peranan tersendiri.
Letak file route ada di folder routes/ dan didalamnya terdapat 4 file route yaitu, api.php, channels.php, console.php, dan web.php.
Untuk akses halaman di web browser kita fokus ke web.php, dari sini kita akan mulai belajar hal dasar tentang impelementasi route di laravel.
Belajar Dasar Route
Langsung saja kita praktek bagaimana penulisan route untuk membuat sebuah halaman dapat akses di web browser.
Pada saat awal membuka file routest/web.php maka yang akan nampak di text editor adalah kode dibawah ini:
<?php
use Illuminate\Support\Facades\Route;
...
Route::get('/', function () {
return view('welcome');
});
Code language: HTML, XML (xml)
Kode Route::get('/')
diatas adalah halaman pembuka Laravel saat pertama kali kita install laravel. Seperti dibawah ini tampilannya.
Halaman pembuka diatas dirender oleh Laravel ke browser, dimana file pembuka tersebut terletak di resources/views/welcome.blade.php, blade adalah template engine Laravel. Kita tidak akan membahas blade, blade akan kita bahas lebih spesifik di artikel lain, karena kalau di satu artikel ini akan panjang nantinya :p
Menampilkan kata di browser
Selanjutnya kita akan coba membuat sebuah kata yang akan ditampikan di browser. Silahkan buka file routes/web.php lalu tambahkan kode dibawah ini:
Route::get('/halo-dunia', function() {
return '<h1>Halo dunia</h1>';
});
Code language: PHP (php)
Karena penulis menggunakan php artisan server
maka url diatas bisa diakses seperti dibawah ini:
http://127.0.0.1:8000/halo-dunia
Maka akan tampil seperti gambar dibawah ini:
Ada beberapa route yang tersedia di Laravel, berikut ini route tersebut:
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Route::resource($uri, $callback);
Code language: PHP (php)
Seperti yang kita ketahui, GET
adalah route yang hanya bisa di akses langsung ke browser, sedangkan POST
untuk mengirim data form ke server. Mari kita fokus ke GET
sebagai bagian dari tutorial dasar ini.
Menambahkan parameter di URL
Apakah route hanya mampu menampilkan URL statis? ternyata tidak, kita dapat mengirim parameter di URL dan akan dieksekusi di browser, berikut ini contohnya.
Tambahkanlah kode dibawah ini:
Route::get('/halo/{nama}', function($nama) {
return '<h1>Halo ' . $nama . '</h1>';
});
Code language: PHP (php)
Lalu ketikan URL di browser seperti dibawah ini:
http://127.0.0.1:8000/halo/Aris
Maka akan tampil seperti gambar dibawah ini:
{nama}
adalah sebuah parameter yang akan dikirim ke variable $nama
.
Lalu bagaimana jika ternyata tidak ada parameter Aris di URL? coba saja anda hilangkan parameter Aris di browser, maka akan ada error 404, karena parameter {nama}
tidak memberi nilai ke variable $nama
, sehingga tidak ada halaman yang dituju.
Lantas bagaimana agar tidak terjadi 404? tambahkan saja nilai default pada variable nama dan berikan tanpa tanya “?” diparameter nama apabila tidak ada parameter di URL, seperti kode dibawah ini:
Route::get('/halo/{nama?}', function($nama = 'Tanpa Nama') {
return '<h1>Halo ' . $nama . '</h1>';
});
Code language: PHP (php)
{nama?}
akan memberitahu browser agar meskipun tanpa parameter tetap akan di eksekusi di browser karena di variable $nama
sudah kita isi nilai default yaitu Tanpa Nama. Maka apabila di browser kita buka seperti URL dibawah ini:
http://127.0.0.1:8000/halo
Di browser akan tampak Tanpa Nama, seperti gambar dibawah ini:
Sekian pembahasan tentang routing di laravel, semoga bermanfaat, dan akan kita bahas lebih dalam lagi tentang laravel.