Codeigniter untuk pemula, eps 2
Setelah sukses, semoga, dengan instalasi Codeigniter (CI), maka sekarang saatnya menjajal framework ini. Oh, ya, sebagai bantuan, saya aing menggunakan IDE Netbeans.
Pertama kita akan membuat controller dan view yang akan menampilkan hello world.
- Buat berkas hello.php di ci/application/controllers/.
<?php //membuat kelas Hello class Hello extends Controller{ //membuat fungsi default yang akan dipanggil kelas ini public function index(){ //buat variabel $vars yang merupakan array //dimana key text berisi teks "Halo Dunia" $vars['text'] = "Halo Dunia"; //controller ini meload tampilan dari file //hello_view.php yang terdapat dalam folder //ci/application/views/, yang digunakan cukup //nama berkas, tidak perlu ekstensi berkas. //dalam menampilkan file hello_view, variabel //$vars diikutsertakan $this->load->view('hello_view', $vars); } ?> - Buat berkas hello_view.php di ci/application/views/.
<?php //tampilkan variabel $text //variabel ini berasal dari $vars['text'] //yang terdapat dalam controller hello.php echo $text; ?>
- Buka alamat http://localhost/ci/index.php/hello melalui browser Anda. Hasilnya kurang lebih seperti ini.
Lihat, kita butuh minimal dua berkas hanya untuk menampilkan hello world. Dengan metode lama, aing hanya butuh satu berkas, katakanlah, hello.php saja. Tapi dengan pattern MVC, aing bisa memisahkan antara bagaimana mengelola yang akan ditampilkan, dan bagaimana menampilkan. Terhindar dari spaghetti code dan segala macam masalah turunannya, bisa membuat template tampilan, dan pada akhirnya terasa betul memangkas waktu membuat situs/aplikasi dengan PHP. Mari kita lanjutkan.
Kedua, buat url situs/aplikasi kita lebih cantik dengan menghilangkan index.php.
- Buat berkas .htaccess di ci/.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /ci/index.php/$1 [L] ErrorDocument 404 /ci/index.php - Buka berkas config.php di ci/application/config/. Rubah baris yang berisi:
$config['index_page'] = "index.php";
Menjadi:
$config['index_page'] = "";
- Melalui browser, buka http://localhost/ci/hello.
Lebih rapi kan, url kita sekarang? Hoho.
Mengenai controller, kita dapat membuat banyak fungsi di dalamnya. Misalnya selain fungsi index, kita ingin menambahkan fungsi fungsi1 yang dapat diakses melalui http://localhost/ci/hello/fungsi1/, hello adalah nama controller, fungsi1 adalah nama fungsi.
- Tambahkan ini ke dalam controller hello (ci/application/controllers/hello.php).
//membuat fungsi default yang akan dipanggil kelas ini public function index(){ //bagian ini tidak diubah } //membuat fungsi fungsi1 public function fungsi1($parameter1, $parameter2){ //membuat variabel $vars dengan key param1 //yang berisi sama dengan variabel $parameter1 yang //diinput oleh user $vars['param1'] = $parameter1; //membuat variabel $vars dengan key param2 //yang isinya sama dengan nilai variabel $parameter2 $vars['param2'] = $parameter2; //fungsi fungsi1 meload tampilan dari file //hello_fungsi1_view.php variabel $vars diikutsertakan //fungsi fungsi1 bisa saja meload tampilan dari file //hello_view.php, sama seperti fungsi index, namun kali //ini kita gunakan saja file yang berbeda $this->load->view('hello_fungsi1_view', $vars); } - Buat berkas file hello_fungsi1_view.php di ci/application/views/.
//tampilkan variabel $param1 echo 'Parameter 1: ' . $param1 . '<br />'; //tampilkan variabel $param2 echo 'Parameter 2: ' . $param2; ?>
- Buka http://localhost/ci/hello/fungsi1.
Ups, sepertinya ada yang keliru, Missing argument dan Undefined variable. Oh, ya, fungsi1 membutuhkan 2 parameter, parameter1 dan parameter2.
//membuat fungsi fungsi1 public function fungsi1($parameter1, $parameter2){ - Buka http://localhost/ci/hello/fungsi1/peremeter1/peremeter2.
Yap, url yang benar adalah http://localhost/ci/hello/fungsi1/peremeter1/peremeter2. Sekarang kita bisa menerka, hello adalah nama controller, fungsi1 adalah nama fungsi yang terdapat dalam controller hello, peremeter1 adalah nilai parameter pertama yang dibutuhkan oleh fungsi fungsi1, peremeter2 adalah nilai parameter kedua yang dibutuhkan oleh fungsi fungsi1. Untuk menyiasati ketiadaan parameter yang diberikan oleh pengguna, kita dapat mendefinisikan nilai parameter pada controller.
- Ubah controller hello.php.
//membuat fungsi fungsi1 public function fungsi1($parameter1 = 0, $parameter2 = 'pemereter2'){ - Buka http://localhost/ci/hello/fungsi1.
- Sekarang kita coba memasukkan parameter pada url, buka http://localhost/ci/hello/fungsi1/1001.
Kita memasukkan nilai 1001 sebagai nilai parameter1, sedang parameter2 karena tidak diberi nilai, tetap menampilkan nilai default yang kita tentukan dalam controller.
Sepertinya cukup sekian episode 2 dari perkenalan kita dengan Codeigniter. Saran dan kritik sangat diharapkan. Episode depan sepertinya akan berisi tentang M dari pattern MVC, semoga.







thans buat “/” nya!!
“/” yang mana, yah?