Apa itu Routing atau routes?
Routing adalah sebuah fitur yang di sediakan oleh Codeigniter 4, fitur ini digunakan untuk mengatur akses pengguna aplikasi pada URL tertentu.
Membuka File Routing
$routes->get('/', 'Home::index');
Keterangan :
pada baris perintah route tersebut ada 3 bagian yang perlu anda perhatikan :
- yang pertama adalah HTTP Request Method, dalam contoh diatas adalah get, jika kita isi dengan get, maka akan membaca URL yang kita tuliskan di URL Browser, jika anda membuat pemrosesan terhadap entrian form bisa menggunakan post.
- yang kedua adalah URL yang akan digunakan, dalam contoh diatas kita menuliskan ‘/‘ artinya adalah mengakses halaman utama dari webnya
- yang ketiga adalah controller dan method apa yang akan diakses saat pengguna aplikasi mengakses URL dibagian kedua.
Menambah Routing Baru
- <?php
- namespace App\Controllers;
-
- class Mahasiswa extends BaseController
- {
- public function index()
- {
- echo 'Halo ini adalah controller Mahasiswa';
- }
-
- public function profil()
- {
- echo 'Ini adalah method profil di controller Mahasiswa';
- }
- }
Keterangan : - Kita buat controller dengan nama Mahasiswa, sehingga class-nya kita berikan nama Mahasiswa.
- Didalam controller Mahasiswa kita buat 2 method dengan nama index, dan profil
Sekarang coba akses 2 method pada Controller Mahasiswa yang telah dibuat, sebelumnya kita jalankan dulu local server-nya dengan menuliskan perintah dibawah ini:
php spark serve
http://localhost:8080/Mahasiswa
http://localhost:8080/mahasiswasiswa/profil
$routes->get('/profil-mahasiswa', 'Siswa::profil');
Penjelasan :
perintah routing diatas memiliki arti :
- ketika pengguna aplikasi mengakses url profil-mahasiswa, jadi kalau di contohkan dalam hal ini adalah localhost:8080/profil-mahasiswa, dengan menggunakan method GET artinya kita menuliskan di URL Browser maka akan mengakses method profil di Controller Mahasiswa, sehingga akan tampil :
Dengan Routing |
Tanpa Routing |
Membuat Placeholder di Routing
Berikutnya kita akan belajar bagaimana cara membuat placeholder di routing, secara sederhana placeholder berfungsi untuk menambahkan parameter di bagian routing, parameter ini nantinya dapat digunakan dibagian method di controller.
selain dapat menambahkan parameter, anda juga dapat menentukan jenis data yang dikirimkan melalui parameter tersebut, apakah berbentuk angka, atau huruf, atau dapat berupa bentuk data lainnya, sehingga anda dapat mengatur value parameter yang dikirimkan nantinya.
Untuk dokumentasi resmi dari codeigniter 4, bisa anda lihat melalui alamat sebagai berikut : https://codeigniter.com/user_guide/incoming/routing.html?highlight=route#placeholders
Sebagai contoh kita akan membuat method baru didalam controller Mahasiswa, method baru kita beri nama dataMahasiswa, sehingga kurang lebih controller Mahasiswa menjadi seperti berikut ini :
<?php namespace App\Controllers; class Mahasiswa extends BaseController { public function index() { echo 'Halo ini adalah controller Mahasiswa'; } public function profil() { echo 'Ini adalah method profil di controller Mahasiswa'; } public function dataMahasiswa($nama,$umur) { echo "Nama Mahasiswa $nama, umur $umur"; } }
method dataMahasiswa memiliki 2 parameter, yaitu nama dan umur
kita akan mengakses method dataMahasiswa menggunakan Routing dengan menambahkan routing baru pada app/Config/Routes.php dengan code sebagai berikut:
$routes->get('data-mahasiswa/(:alpha)/(:num)', 'Mahasiswa::dataMahasiswa/$1/$2');
Lalu akses URL : localhost:8080/data-mahasiswa/Rian/20
maka akan tampil sebagai berikut :
Perhatikan dibagian routing kita menambahkan jenis parameter (placeholder) pertama adalah (:alpha) yang artinya nilainya harus berupa huruf, dan dibagian parameter kedua (placeholder) adalah (:num) yang artinya nilainya harus berupa angka.
Pada dokumentasi dari Codeigniter 4, terdapat beberapa jenis placeholder yang dapat digunakan:
- (:any) digunakan untuk menangkap seluruh jenis inputan
- (:segment) digunakan untuk menangkap seluruh jenis inputan kecuali forward slash (/)
- (:num) digunakan untuk menangkap angka
- (:alpha) digunakan untuk menangkap data berupa huruf
- (:alphanum) digunakan untuk menangkap data berupa huruf dan angka
- (:hash) memiliki konsep yang sama dengan segment hanya saja.. ini lebih mudah digunakan jika ketika id pada routing menggunakan hash
Jadi kurang lebih seperti itu ya guys ya beberapa fitur routing yang dapat digunakan pada Codeigniter 4, untuk pembahasan tentang routing lebih lanjut, kalian bisa lihat di dokumentasi resmi dari Codeigniter 4 :
https://codeigniter4.github.io/userguide/incoming/routing.html
Baik sekian dulu sampai jumpa di tutorial Codeigniter 4 Selanjutnya