Skill Level
Intermediate
Categories
Web Development
Reading Time
6 minutes, 37 seconds
Technology
PHP
Framework
Laravel
Library
No library
Teach Me Laravel Pt.3 – Route

Sebelumnya kita sudah membuat sebuah project Laravel dengan 2 cara yaitu melalui Composer create-project dan melalui Laravel Installer.

Hari ini kita akan membahas tentang route pada Laravel. Route atau rute pada Laravel berfungsi untuk melakukaan pemetaan pada aplikasi yang kita buat. Maksudnya, rute tersebut yang akan men-handle atau menangani setiap permintaan URL yang dilakukan oleh pengguna aplikasi. Masih bingung? it’s okay!

Pada Laravel 5.5 file route terdapat di routes/web.php. Untuk lebih memahami tentang route ini maka buka file tersebut ke text editor kamu.

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

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

Kode diatas adalah isi dari file routes/web.php dan disana hanya ada 1 rute yang tersedia. Oke, agar lebih paham lagi sekarang kamu akses di browser project Laravel kamu dengan URL seperti berikut. (Oiya, ini menggunakan project ditutorial sebelumnya yaitu inventory).

http://localhost/inventory/public

Ketika kita mengakses URL diatas pada browser maka akan menampilkan halaman welcome Laravel.

Kenapa bisa menampilkan halaman tersebut? Coba lihat file routes/web.php lagi disana terdapat kode seperti berikut ini.

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

Kode tersebut lah yang menagani ketika user mengakses root URL. Dari mana root URL? Kita bisa mengetahuinya dari parameter “/” yang terdapat pada method Route::get().

Agar lebih paham lagi, kamu bisa ubah tanda “/” menjadi “/welcome” maka kodenya menjadi seperti ini.

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

Ketika kamu mengakses URL yang sama akan menampilkan halaman 404 karena rute untuk menangani root URL sudah kamu ubah ke “/welcome”. Sekarang coba kamu akses URL berikut ini.

http://localhost/inventory/public/welcome

Maka akan menampilkan halaman welcome Laravel karena tadi kamu sudah mengubah rute yang seharusnya menangani root URL menjadi menangani rute “/welcome”. Sudah paham?

Sebetulnya untuk mempelajari route ini sangat mudah untuk dipahami jika kita sambil mempraktekannya.

Lanjut …

Oke, sekarang kita akan mencari tahu mengapa ketika kita mengakses URL tadi bisa menampilkan halaman welcome Laravel.

Buka kembali file routes/web.php. 

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

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

Disana terdapat kode “return view(‘welcome’)“, nah baris kode inilah yang menampilkan halaman welcome Laravel ketika pengguna mengakses rute “/welcome”. Fungsi view() pada Laravel berfungsi untuk memanggil file yang ada didalam folder resources/views/ dan untuk tampilan yang akan disajikan ke pengguna ketika mengakses rute tersebut.

Dalam kasus rute “/welcome”, disana terdapat fungsi view() dengan paramter “welcome”, maka artinya fungsi view() tersebut bertugas untuk menampilkan isi dari file welcome.blade.php yang ada didalam folder resources/views/.

Untuk memastikan bahwa kamu sudah paham, mari kita coba buat rute sendiri.

Kita akan membuat rute dengan path “/about” maka tambahkan baris kode berikut pada file routes/web.php.

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

Ketika kamu mengakses “http://localhost/inventory/public/about” maka akan menampilkan error seperti berikut.

Error tersebut karena pada rute tersebut terdapat kode “view(‘about’)”. Kenapa kode tersebut menyebabkan error? Seperti yang sudah dijelaskan sebelumnya, fungsi view() pada Laravel untuk menampilkan isi dari file sesuai pada parameter yang diberikan pada fungsi view() tersebut. Pada kasus rute yang baru kita buat, kita memberikan parameter “about” pada fungsi view() tersebut, itu berarti fungsi view() berusaha mencari file dengan nama “about.blade.php” didalam folder resources/views/. Karena file about.blade.php tidak ada atau belum dibuat didalam folder resources/views/, maka fungsi view() tersebut menampilkan error diatas. Paham?

Sekarang kita buat file dengan nama about.blade.php dengan isi seperti berikut dan letakkan didalam folder resources/views/.

<!DOCTYPE html>
<html>
<head>
  <title>About</title>
</head>
<body>
  Halo, ini halaman tentang kami!
</body>
</html>

Jika kita buka kembali URL tadi, maka tidak akan terjadi error melainkan menampilkan tampilan seperti berikut.

Saya kira sampai sini kamu sudah paham. Jika masih belum, silahkan ulangi lagi membacanya.

Pada route Laravel, kita bebas menentukan apa yang akan ditampilkan ke pengguna ketika pengguna mengakses rute tersebut. Sebagai contoh dalam kasus diatas, kita langsung meng-handle rute /welcome dengan langsung menampilkan isi dari file welcome.blade.php, tentu cara yang baik adalah meng-handle rute dengan controller, jadi controller yang akan memproses dan yang menampilkan isi dari file view untuk rute tersebut. Untuk mempelajari mengenai controller, kita akan membahasnya dikesempatan lain.

Final Words

Semoga pada artikel ini kamu menjadi paham tentang konsep route pada Laravel. Jika masih bingung, jangan sungkan untuk bertanya melalui kolom komentar. Semoga bermanfaat.

Topik:

Muhamad Nauval Azhar
10 months ago  •  Posted by
Muhamad Nauval Azhar
Junior Programmer

Pecinta Alam (Mbah dukun)

Dapatkan notifikasi untuk setiap artikel baru dan jadilah yang pertama tahu!