Sebagai salah satu framework PHP yang populer, CodeIgniter 3 memiliki berbagai fitur yang memudahkan pengembangan aplikasi web. Salah satu fitur pentingnya adalah Router. Router digunakan untuk menangani URL yang diminta oleh pengguna, memetakan URL ke metode controller yang membentuk aplikasi web.
Pada artikel kali ini akan dijelaskan cara membuat router pada CodeIgniter 3. Berikut adalah langkah-langkahnya.
-
Buat sebuah file pada direktori
application/configdengan namaroutes.php jika belum ada. -
Buka file
routes.phpdan tambahkan kode berikut:<?php defined('BASEPATH') OR exit('No direct script access allowed'); $route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE; // tambahkan Routes di bawah iniKode tersebut adalah konfigurasi default yang telah disediakan oleh CodeIgniter.
$routeadalah array yang digunakan untuk membuat route pada aplikasi.$route['default_controller']menentukan default controller yang akan dijalankan jika tidak ada controller yang didefinisikan pada URL.$route['404_override']akan dijalankan jika controller yang diminta tidak ditemukan.$route['translate_uri_dashes']mengatur apakah tanda - pada URI akan diubah menjadi tanda underscore. -
Setelah itu, tambahkan kode di bawah ini untuk menentukan route:
$route['greeting'] = 'welcome/greeting';Kode tersebut menunjukkan bahwa jika pengguna meminta URL
https://localhost/nama_project/greeting, maka akan memanggil methodgreetingpada controllerwelcome. -
Untuk menentukan route dengan parameter, tambahkan kode di bawah ini:
$route['blog/(:num)'] = 'blog/$1';Kode tersebut artinya jika pengguna mengunjungi URL
https://localhost/nama_project/blog/1, maka akan memanggil method$1(bernilai 1) pada controllerblog.Parameter
(:num)menunjukkan bahwa URL tersebut mengandung parameter bernilai numerik. Jika ingin membuat parameter dengan tipe data lain, menggunakan kode berikut:$route['blog/(:any)'] = 'blog/$1'; -
Tambahkan kode di bawah ini untuk membuat prefix pada URL:
$route['admin/(:any)'] = 'admin/$1';Kode tersebut memetakan URL yang dimulai dengan
https://localhost/nama_project/admin/ke method pada controlleradmin. -
Terakhir, periksa apakah file
.htaccesspada direktori root sudah ada dan berisiRewriteEngine on. Jika belum ada, buat file.htaccessdan simpan pada direktori root.RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php|images|robots\.txt|css) RewriteRule ^(.*)$ index.php/$1 [L]Kode tersebut berguna untuk menangani semua request URL pada CodeIgniter.
Itulah cara membuat router pada CodeIgniter 3 yang sederhana dan mudah dipahami. Semoga bermanfaat!

