Sebelumnya sempat dibahas mengenai folder config pada CodeIgniter. Dimana, pada folder config tersebut terdapat file bernama routes yang berfungsi untuk mengatur halaman web mana yang akan dibuka. Lalu, bagaimana cara mengoperasikan halaman web ini?Pada bagian routes terdapat deklarasi $route['default_controller'] = 'controller yang dituju';. Pada bagian 'controller yang dituju' merupakan bagian yang ditujukan untuk mengarahkan file ini ke bagian controller pada folder controller yang selanjutnya akan membuka halaman web yang akan dibuka.
Lalu, seberapa pentingkah controller ini pada CodeIgniter?Berikut pembahasannya.
Pada folder application, terdapat sebuah folder yang bernama controller. Dimana, folder ini berfungsi untuk menyimpan berbagai file controller yang akan mengatur berbagai aktivitas website yang akan dibuka. Bila kita gambarkan secara detail, controller ini merupakan jembatan antara routes dengan halaman web yang akan dibuka. Mengapa?File routes pada folder config mendeklarasikan nama controller apa yang digunakan untuk membuka halaman web tersebut. Sementara itu, controller akan meneruskan tugas dari routes yaitu untuk membuka halaman web yang tersimpan pada folder views.
Contoller ini sangat penting sekali pada CodeIgniter ini. Selain untuk mengatur aktivitas website yang akan dibuka, pada controller juga dilakukan berbagai hal seperti memanggil helper dan juga library, serta mengatur validasi pada sebuah form.
Lanjut ke struktur dari controller itu sendiri. Ketika kalian membuka sebuah file controller yang sudah dibuat oleh kalian sendiri maupun controller yang sudah ada sejak kalian menginstal CodeIgniter (dalam hal ini yaitu file Welcome), pastinya kalian akan menemukan pendeklarasian berikut:
defined('BASEPATH') OR exit('No direct script access allowed');
Apa maksud dari pendeklarasian tersebut?Hal ini dilakukan untuk mencegah orang lain yang membuka website untuk mengakses file controller yang digunakan dalam website tersebut, baik itu hanya melihat, mengubah, atau bahkan menghapus.
Lanjut ke pendeklarasian berikutnya. Ketika sebuah file controller dibuat, misal dengan nama Website. Maka pendeklarasian nama classnya akan sesuai dengan nama file yang dibuat. Sehingga pendeklarasian class tersebut akan terlihat seperti berikut.
class Website extends CI_Controller {
Mengapa dalam pendeklarasian class terdapat kata extends?Karena file controller Website merupakan bagian dari file controller yang terdapat pada CodeIgniter. Sehingga, tidak ada akses apapun bagi orang yang menggunakan controller tersebut untuk menghilangkan pendeklarasian extends ini.
Pada pendeklarasian berbagai fungsi untuk mengendalikan berbagai aktivitas pada website dilakukan didalam class. Biasanya, pada pendeklarasian fungsi ini sering dicantumkan pendeklarasian seperti berikut:
function __construct() {
Apa kegunaan fungsi ini?Bila mana kalian ingin menambahkan library ataupun helper pada website yang akan kalian buat, maka fungsi ini akan berguna sekali. Bagaimana cara menggunakannya?Kalian tinggal memasukkan library atau helper apa yang akan kalian gunakan didalam fungsi ini.
Lalu, bagaimana caranya agar kita bisa mengakses website yang akan dibuka?Seperti inilah bentuk pendeklarasiannya.
public function index() {
$this->load->view('nama file view yang akan dibuka');
}
Untuk pada method view, kita bisa memasukkan nama file yang akan diakses, misalnya view('website');.
Itulah pembahasan saya mengenai controller pada CodeIgniter. Semoga informasi ini dapat bermanfaat bagi kalian semua.