Routing CodeIgniter dari Underscore menjadi Dash

Yap, kali ini saya akan coba membuat penjelasan singkat bagaimana mengubah routing CodeIgniter dari “_” (underscrore) menjadi “-” (dash). Untuk itu, mari kita lihat susunan URL di codeigniter berikut ini.

http://somedomain/index.php/welcome/ini_adalah_fungsi_yang_panjang

somedomain adalah domain dari website, welcome adalah controller, dan ini_adalah_fungsi_yang_panjang adalah nama fungsi di controller welcome.

Kira-kira kode PHP-nya sebagai berikut :

class Welcome extends CI_Controller {public function index()  {  $this->load->view('welcome_message');	} public function ini_adalah_fungsi_yang_panjang()  {  echo "salam dari fungsi yang sangat panjang";  }}

Jika kita ingin mengubah URL yang di atas menggunakan dash menjadi http://somedomain/index.php/welcome/ini-adalah-fungsi-yang-panjang, maka yang harus kita lakukan dari kode PHP di atas adalah mengubah nama fungsi ini_adalah_fungsi_yang_panjang() di controller Welcome menjadi ini-adalah-fungsi-yang-panjang(). Tapi, kita akan mendapatkan error karena fungsi di PHP tidak boleh menggunakan dash (“-“).

Baca Juga:  Code Igniter : Base URL dinamis

Untuk bisa menggunakan dash, kita harus memanipulasi sedikit kode PHP di core CodeIgniter. Silahkan buat sebuah file MY_Router.php di folder application/core. Tambahkan kode PHP berikut di dalamnya

class MY_Router extends CI_Router{function _set_request($segments = array()) {		parent::_set_request(str_replace('-', '_', $segments));	}}?>

Kode di atas, kita akan mengganti dash menjadi underscore. Sehingga kita bisa memanggil fungsi ini_adalah_fungsi_yang_panjang() dengan URL http://somedomain/index.php/welcome/ini-adalah-fungsi-yang-panjang

Selamat mencoba 🙂

Komentar

comments

thinkigniter

Tertarik dalam dunia web development, terbiasa mengembangkan aplikasi web dengan menggunakan PHP dan kerangka kerja CodeIgniter, keseharian hanya berdua dengan laptop.

grain storage instagram türk takipçi satın al