Mengenal Konsep Routing di codeigniter

Selamat datang di warungbelajar, kali ini kita akan melanjutkan pembahasan dari seri tutorial codeigniter, pada part – 3 kita akan membahas mengenai routing di codeigniter.

Mengenal Router di Codeigniter

Router pada framework codeigniter, memiliki tugas untuk menentukan controller serta method/fungsi yang akan dijalankan ketika pengguna aplikasi mengakses alamat/url tertentu.

Dalam tutorial ini kita tidak membahas bagaimana cara untuk menginstall codeigniter, untuk instalasi codeigniter anda bisa membuka tutorial kita di Mengenal & Menginstall Framework Codeigniter, jadi saya asumsikan teman – teman sudah menginstall codeigniter, baik kita lanjut ke materinya.

Coba teman – teman mengakses alamat : http://localhost/belajarcodeigniter (dalam contoh ini kita menginstall codeigniter di direktori c:\xampp\htdocs\belajarcodeigniter)

Maka tampilannya adalah seperti berikut ini :

Nah pertanyaannya sekarang kenapa saat kita mengakses alamat : localhost/belajarcodeigniter, yang tampil adalah tampilan diatas ??

Hal tersebut dikarenakan, sudah diatur didalam file routers.php, anda bisa mengakses file routers.php didalam direktori application/config/routers.php

Perhatikan pada line : 52 – 54, anda akan menemui skrip seperti dibawah ini :

Keterangan :

  • $route[‘default_controller’] = ‘welcome’ ini merupakan pengaturan default controller yang otomatis akan dipanggil ketika halaman base_url web diakses, base url disini adalah alamat utama dari web, disitu kita menulis welcome artinya akan mengakses controller welcome, controller welcome adalah controller default yang merupakan bawaan codeigniter, untuk file controller berada di application\controllers , nah pada controller welcome, yang akan dijalankan awal adalah function index, pada function index tersebut menjalankan view welcome_message, dimana file view ini berada pada direktori application\views, anda bisa mengganti nilai pada nilai default_controller, untuk mengarahkan ke controller tertentu saat base_url diakses
  • $route[‘404_override’] = ‘’ merupakan pengaturan default controller yang akan diakses apabila halaman default controller tidak ditemukan, ataupun sebuah controller lainnya tidak ditemukan.
  • $route[‘translate_uri_dashes’] = FALSE, ini adalah pengaturan yang memperbolehkan anda menggunakan tanda dash (-) pada bagian url, anda bisa menggantinya dengan nilai TRUE, sebagai controller semisal anda memiliki controller dengan nama produk_makanan maka kita dapat mengakses pada urlnya menjadi produk-makanan

 

Bagaimana mudah kan teman – teman, berikutnya silahkan mengakses alamat : http://localhost/belajarcodeigniter/index.php/welcome/index

Maka tampilannya adalah sebagai berikut :

Lho tampilannya kok sama, dengan saat kita mengakses localhost/belajarcodeigniter ?

Hal tersebut dikarenakan saat kita mengakses : http://localhost/belajarcodeigniter/index.php/welcome/index

kita sedang mengakses function index didalam controller welcome.

Keterangan :

Jadi untuk mengakses function / method didalam controller, kita perlu menuliskan :

  • Base_url : localhost/belajarcodeigniter
  • Lalu tambahkan index.php
  • Lalu tuliskan nama controller
  • Lalu tuliskan nama function

 

Membuat Beberapa Router

Setelah anda memahami konsep sebuah routing, serta bagaimana mengakses function pada sebuah controller, kita akan belajar membuat beberapa router, baik silahkan buat 2 function dengan kode dibawah ini :

Silahkan tuliskan didalam controller Welcome, dibawah function index

Berikutnya silahkan buat 2 file view, dengan nama profil.php, dan contact.php didalam direktori application/views

contact.php

profil.php

Silahkan tuliskan didalam controller Welcome, dibawah function index

Baik sekarang kita akan mencoba mengaksesnya :

localhost/belajarcodeigniter/index.php/welcome/contact

localhost/belajarcodeigniter/index.php/welcome/profil

Nah halaman terload dengan baik, karena memang kita langsung mengakses function dalam controller welcome dibagian URL

Tetapi apakah bisa kita mengaksesnya dengan alamat :

  • localhost/belajarcodeigniter/index.php/contact
  • localhost/belajarcodeigniter/index.php/profil

jika kita coba mengaksesnya hasilnya adalah seperti berikut ini :

Kenapa kok tampilannya tidak ditemukan ?

Hal ini dikarenakan kita belum menset dibagian router, baik anda bisa menambahkan perintah dibagian router.

Hasilnya adalah :

Nah halamannya berhasil diakses setelah kita menambahkan dibagian route

 

Nah pertanyaannya selanjutnya adalah, apakah kita perlu menambahkan route di file routers.php setiap kali kita membuat route baru ?

Anda tidak harus menambahkan route di file routers.php, setiap kali anda membuat route baru, karena Codeigniter otomatis mendeteksi route berdasarkan nama controller dan function/method yang dibuat.

Semisal alamat :

  • localhost/belajarcodeigniter/index.php/welcome/contact

artinya anda mengakses function contact di controller welcome

  • localhost/belajarcodeigniter/index.php/welcome/profil

artinya anda mengakses function profil di controller welcome

 

Jadi secara konsep formatnya adalah seperti berikut ini :

Sehingga bisa kita ambil kesimpulan, anda perlu menambahkan route di file routers.php jika anda ingin membuat kustom route pada controller tertentu.

 

Baik sekian dulu teman – teman pembahasan tutorial kali ini, kita sudah belajar mengenai konsep routing pada framework Codeigniter, jika ada yang ingin didiskusikan silahkan di kolom komentar, sampai jumpa di tutorial selanjutnya.

Leave a Comment

Your email address will not be published.