Membangun Aplikasi PHP dan CodeIgniter II
Post on 03-08-2009 08:00

Membangun Aplikasi PHP dan CodeIgniter II

 

            Seperti yang telah dijelaskan pada tulisan yang terdahulu, aplikasi PHP dengan menggunakan CodeIgniter menggunakan konsep MVC dalam penerapannya. MVC adalah pattern yang memisahkan sisi antarmuka dengan sisi bisnis aplikasi. Ada beberapa hal yang perlu diperhatikan saat kita memulai mengerjakan sebuah project dengan menggunakan CodeIgniter. Sebelum kita melangkah lebih lanjut bersama CodeIgniter maka alangkah baiknya kalau download source CodeIgniter di website resminya terlebih dahulu www.codeigniter.com.

 

Struktur Folder CI

            Setelah download selesai, ekstrak CI pada folder “/htdocs”. Struktur folder CI terdiri dari :

            /htdocs

            /project_ku

                  /system

                        /application

                        /cache

                        /codeigniter

                        /database

                        /fonts

                        /helpers

                        /language

                        /libraries

                        /logs

                        /plugins

                        /scaffolding

                  /user_guide

 

Dalam pengerjaan sebuah project yang perlu kita perhatikan hanyalah folder “application”. Struktur folder yang ada didalam folder “application” adalah sebagai berikut :

 

 

      /application

            /config

            /controllers

            /errors

            /helpers

            /hooks

            /language

            /libraries

            /models

            /views

 

CodeIgniter menerapkan MVC (Model View Controller) pattern, apabila kita perhatikan CI memisahkan ketiga unsur tersebut kedalam 3 folder yang berbeda, yaitu “Controller”, “Models” dan “Views”. MVC pattern adalah sebuah design pattern OOP, yang mana unsure-unsur pembentuknya diwujudkan dalam bentuk object. Object-object controller, model dan view akan diletakkan pada masing-masing folder sesuai dengan namanya.

            Seperti yang telah dijelaskan sebelumnya MVC mempunyai load skenario, pertama apabila terdapat request dari browser maka yang akan dipanggil pertama kali adalah controller, lalu controller mengakses model dan view untuk mewujudkan sebuah output dalam bentuk HTML yang nantinya akan ditampilkan pada browser user.

 

Memulai Project Bersama CodeIgniter

            Kita akan memulai membuat sebuah project dengan CodeIgniter. Pada permulaan kali ini kita akan fokus pada Controller adan View, karena dua unsur ini adalah syarat minimal apabila kita bekerja dengan CodeIgniter. Kita akan membuat sebuah file controller dengan namahello.php”.

 

hello.php

class Hello extends Controller

{

      function Hello()

{

      parent::Controller;

}

 

      function index()

{

      echo “Hello World, Saya belajar CodeIgniter”;  

}

}

 

Pada saat kita membuat controller nama class harus sama dengan nama file dengan huruf pertama besar (kapital), dan menuruni class induknya (extends Controller). CodeIgniter adalah sebuah framework yang didesign agar dapat berjalan pada PHP versi 4.x dan versi 5.x. Oleh karena itu agar hal tersebut terakomodasi kita harus menambahkan sebuah function contructor (function Hello) yang didalamnya terdapat script parent::Controller; . Function “index” dalam sebuah controller adalah fungsi default, maksudnya adalah apabila kita memanggil sebuah controller, maka index inilah yang akan dieksekusi untuk pertama kalinya.

            Sebelum mencoba halaman pertama kita, mari kita set dulu file /config/routes.php, dalam file ini kita akan mendefinisikan controller default pada project kita.

 

$route['default_controller'] = "hello";

 

helloadalah controller yang baru saja kita buat, kita menjadikan “hello” sebagai controller default pada project pertama kita. Lalu mari kita coba memanggil url http://localhost/project_ku/index.php, maka yang akan muncul adalah :

 

Hello World, Saya belajar CodeIgniter

 

Dengan munculnya kalimat “Hello World, Saya belajar CodeIgnitermenandakan bahwa kita berhasil membuat satu controller. Dan sekaligus membuktikan bahwa controller adalah tujuan pertama pada saat load page. Dari controller inilah kita dapat mengontrol semua alur web yang akan kita buat.

 

Membuat View

            Setelah sukses dengan controller, mari kita melangkah ke tahap selanjutnya yaitu View. Bagaimana hubungan controller dengan View? Mari kita coba untuk membuat file view. Kita akan membuat file depan.php dan menyimpannya dalam folder view. View berisikan template tampilan suatu halaman. Biasanya didalamnya adalah tag-tag html dan css. View nantinya akan menampilkan data yang dikirimkan oleh controller.

 

depan.php

<html>

<head>

<title> </title>

</head>

      <h1></h1>

<body>

</body>

</html>

 

 

Mari kita coba lihat apa isi dari file depan.php, pada kasus ini kita lihatdepanberisikan html tag. Bagaimana cara menangkap data yang dikirimkan oleh controller? Mari kita kembali pada controller yang telah kita buat sebelumnya.

 

class Hello extends Controller

{

      function Hello()

{

      parent::Controller;

}

 

      function index()

{

      echo “Hello World, Saya belajar CodeIgniter”;  

}

}

 

Kita akan coba mengirimkan data ‘title’ dan ‘header’, yang mana ‘title’ adalah title page, dan header adalah kalimat “Hello World ….”. Harapannya adalah data ‘title’ dan ‘header’ akan dapat tampil pada halaman depan. Kita akan membuat sebuah array data dengan isi title dan header. Array data ini nantinya akan kita kirimkan pada View. Berikut adalah contoh script dari controller kita.

 

class Hello extends Controller

{

      function Hello()

{

      parent::Controller;

}

 

      function index()

{

      $data[“title”] = “Halaman Pertama CI”;

      $data[“header”] = “Hello World, Saya belajar CodeIgniter”;

      $this->load->view(depan”,$data);  

}

}

 

Perubahan yang terjadi adalah pada function index, kita membuat array $data[“title”] dan $data[“header”] dan masing-masing sudah kita isi denganHalaman Pertama CI” untuk title dan “Hello World….” untuk header. Mari kita perhatikan script selanjutnya,

 

$this->load->view(depan”,$data);

 

Fungsi dari script ini adalah untuk memanggil view dan mengisikan data, “depanadalah nama view (diambil dari nama file depan.php), dan $data adalah array yang akan kita kirimkan pada view. Dengan script diatas berarti kita telah memanggil view dengan namadepandan mengirimkan array $data padanya.

            Bagaimana sang View menampilkan data? Mari kita tengok kembali file depan.php.

 

<html>

<head>

<title><?=$title?></title>

</head>

      <h1><?=$header?></h1>

<body>

</body>

</html>

 

Untuk dapan menampilkan data yang dikirimkan oleh controller maka kita tinggal memanggil saja variable dengan nama sesuai dengan nama index array yang kita kirimkan dari controller. Array yang kita kirimkan $data[“title”] dan $data[“header”], maka dalam view untuk kita hanya perlu mencetak $title untuk memanggil $data[“title”] dan $header untuk $data[“header”]. Mari kita coba untuk memanggil halaman kita dari browser, http://localhost/project_ku/index.php maka hasilnya akan nampakHello World, Saya belajar CodeIgniterdengan tampilan besar, dan title pada browser akan tampilHalaman Pertama CI”.

            Kita sudah berhasil membuat Controller dan View, kurang satu elemen lagi yaitu Model, seperti yang kita ketahui Model adalah sebuah class yang merepresentasikan sebuah database. Model adalah layer yang harus kita lewati sebelum kita ke database (apabila kita menggunakan pendekatan MVC). Bagaimana dengan Model dan bagaimana hubungan Controller dan View dengan Model? Mari kita tunggu tulisan selanjutnya. J