Banyak yang baru belajar framework codeigniter salah dalam penamaan file controller yang mereka buat. Seringkali hal ini menyebabkan mereka bingung kenapa file website yang sebelumnya berjalan normal di localhost yang diinstal di windows menjadi error setelah di hosting ke server yang berbasis linux.
Hal ini diakibatkan oleh case sensitive karakter yang dimiliki oleh sistem operasi linux. Secara aturan yang diterapkan oleh framework codeigniter yaitu penamaan controller harus diawali dengan huruf besar.
Seperti contoh nama controller bawaan codeigniter.
Welcome.php
Awalan nama controller diawali dengan huruf besar, kemudian jika dilihat ke dalam file Welcome.php didapat bait program berikut:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see https://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('welcome_message');
}
}
Dari bait program di atas dapat dilihat penamaan class memiliki nama yang sama dengan diawali huruf besar. Jadi jika anda hendak membuat controller baru, hendaknya menggunakan aturan ini, agar nantinya tidak mengalami error saat diterapkan di server linux.
Dalam beberapa kasus htaccess memiliki peranan penting untuk memberikan akses kepada pengguna untuk memproses bait program website. Begitu pula dengan framework Codeigniter, seperti yang saya pernah alami, ketika mengakses localhost/website berjalan dengan normal. Namun ketika mengakses localhost/website/controller/function atau localhost/website/routing malah mendapat error 404 page not found.
Dalam hal ini, permasalahan di atas dapat diselesaikan dengan menambahkan file htaccess pada direktori yang setara dengan folder application. Sehingga menghasilkan struktur seperti berikut.
Namawebsite/
- application [folder]
- system [folder]
- user_guide [folder]
- .editorconfig
- .gitignore
- .htaccess
- composer.json
- contributing.md
- index.php
- license.txt
- readme.rst
File htaccess yang saya gunakan biasanya seperti berikut.
<IfModule mod_rewrite.c>
RewriteEngine On
# Send would-be 404 requests to Craft
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
RewriteRule (.+) index.php?p=$1 [QSA,L]
Untuk menjadikan bait program anda lebih terstruktur, rapi, serta mudah untuk melakukan pengelolaan maka anda harus memaksimalkan MVC yang dimiliki oleh framework Codeigniter ini.
Baca juga: Pengenalan Codeigniter dari Struktur Folder, Fungsi, dan Instalasinya
Dengan MVC membagi bait program menjadi tiga jenis yaitu coding untuk pengelolaan database yang diletakkan di model, kemudian coding yang digunakan untuk mengontrol semua aktifitas dalam website ke dalam controller, dan yang terakhir coding untuk tampilan website ke dalam views.
Baca juga: Membuat Templit HTML pada Framework Codeigniter
Dengan menggunakan templit untuk coding html yang dibuat maka proses memaksimalkan file view dalam website dapat dilakukan. Anda juga tidak perlu mengulang coding yang sama untuk beberapa bagian di web anda.
Routing sangat bermanfaat bagi anda yang sering kali mengirimkan parameter melalui url. Parameter tersebut dapat berupa id ataupun kata yang akan dipakai dalam sebuah pengkondisian website. Selain itu route dapat memberikan tampilan link yang rapi dan sesuai dengan keinginan meskipun contoller dan function yang diakses tidak memiliki nama yang sesuai.
Dengan memanfaatkan routing maka anda mendapat beberapa hal berikut:
Penerapannya sangat mudah, buka file routes.php pada application/config/ maka akan tampil kurang lebih seperti berikut.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
Pada bait kode di atas terdapat tiga routing, untuk membuat route baru maka ketik di bawah kode di atas dengan fomat:
$route['nama-route'] = 'NamaController/namafunction';
Penjelasan:
Maka dari contoh diberikan akan menghasilkan route seperti berikut $route[‘profil’]=’ProfilControl/view_profil; dimana route ini akan menampilkan halaman profil.
Baca juga: Penerapan URL Routing pada Framework Codeigniter
Demikian artikel mengenai dasar yang perlu diketahui saat membuat web dengan Codeigniter, semoga artikel ini bisa membantu anda dalam memahami framework Codeigniter.