Tutorial CodeIgniter: Pengenalan Controller

featured-controller

Pada tulisan lanjutan serial Tutorial CodeIgniter ini kita akan membahas lebih dalam tentang konsep MVC (buat yang belum tahu apa itu CodeIgniter bisa baca mengenai Tutorial CodeIgniter: Pengenalan Dasar).

Berkenalan dengan Controllers

Controllers merupakan inti dari aplikasi kita, dimana mereka akan menangkap request HTTP yang datang. Controllers ini hanya berupa class file sederhana yang memiliki nama class sesuai dengan yang di tangkap oleh URL.

Untuk membuat sebuah controller sederhana kita bisa membuatnya dengan text editor favorit kalian dengan nama blog.php kemudian letakan dalam direktori

application/controllers/blog.php

kemudian isi blog.php seperti dibawah ini

<?php
class Blog extends CI_Controller{
	public function index()
	{
		echo 'Hello World!';
	}
}
?>

untuk mencobanya silahkan buka browser anda kemudian arahkan ke url

http://localhost/belajar-ci/index.php/blog/

catatan: anda meletakan folder CodeIgniter pada folder belajar-ci di root directory web server anda

jika tidak ada kesalahan maka anda akan melihat Hello World!.

Membuat Function

function adalah sebuah method yang ada pada class file yang dapat diakses pada fragment kedua pada url. Sebagai contoh lihat pada url dibawah ini

http://localhost/belajar-ci/index.php/blog/index/

blog adalah class file kita yang bernama blog.php
index adalah function yang ada pada class blog dengan nama function index

coba kalian rubah blog.php yang tadi kalian buat kemudian rubah menjadi seperti ini

<?php
class Blog extends CI_Controller{
	public function index()
	{
		echo 'Hello World!';
	}

	public function comments()
	{
		echo 'Ini adalah bagian komentar';
	}
}
?>

kemudian buka browser dan arahkan kepada

http://localhost/belajar-ci/index.php/blog/comments

maka anda akan melihat “Ini adalah bagian komentar” sesuai dengan yang ada pada function comments() yang telah kita tambahkan di controller blog.

Mengirimkan parameter pada ke functions

Kita bisa mengirimkan parameter ke function kita dengan tujuan tertentu, sebagai contoh kita ingin membaca blog post dengan id 123. Maka dengan mudah kita melakukannya seperti ini.

modifikasi blog.php anda menjadi seperti dibawah ini

<?php
class Blog extends CI_Controller{
	public function index()
	{
		echo 'Hello World!';
	}

	public function comments()
	{
		echo 'Ini adalah bagian komentar';
	}

	public function read($post_id)
	{
		echo 'membaca blogpost dengan id: '.$post_id;
	}
}
?>

kemudian arahkan browser anda ke url

http://localhost/belajar-ci/blog/read/123

maka akan muncul text ‘membaca blogpost dengan id: 123’, 123 ini merupakan parameter yang kita kirim melalui url ke function read() yang ada di class blog

Mengeset default controller

Ketika kita baru mendownload CodeIgniter default controller yang diakses adalah “welcome”, jika kita akan mengubahnya sebagai contoh kita ingin merubah default controller menjadi “blog” yang harus kita lakukan merubahnya pada file

application/config/routes.php

kemudian rubah default controller dari “welcome” menjadi “blog”

$route['default_controller'] = 'Blog';

kemudian anda coba buka browser dan arahkan menjadi

http://localhost/belajar-ci/

jika tidak ada kesalahan anda akan melihat text 'Hello World!' yang dibuat oleh function index() yang ada di controller blog.

Pada saat ini kita baru membahas dengan pengenalan dengan controllers. Jangan sungkan untuk menuliskan pertanyaan jika masih ada yang belum paham mengenai controller ini.