Jumat, 29 Juni 2012

Step By Step To MVC With CI

CI menerapkan teknik pemrograman yang dikenal dengan MVC (Model View Controller), teknik pemrograman yang populer, yang diimplementasi oleh banyak pemrogram dengan berbagai bahasa pemrograman. Tetapi CI tidak secara ketat atau memaksa pemrogram untuk bisa menggunakan CI untuk melakukan pemrograman dengan teknik MVC.

CI mengijinkan pemrogram melakukan pemrograman dengan gayanya sendiri dulu, tetapi dengan menggunakan kerangka pemrograman berbasis objek, dasar dari pemrograman dengan menggunakan CI.

Pemrogram harus memulai pemrograman dengan membuat controller yang disimpan di dalam direktori controllers yang ada di bawah direktori application, dari direktori instalasi CI kita (direktori hasil ekstrak paket CI).

Hello World Murni PHP

Sebelum kita menggunakan CI, maka kita akan memulai dari aplikasi yang paling sederhana dengan PHP, yaitu helloworld.php, dengan isi seperti berikut:
<?php echo "Hello World";?>
Program PHP helloworld.php, merupakan program PHP yang paling sederhana untuk menampilkan tulisan Hello World di dalam browser.

Halaman yang dihasilkan oleh program di atas, bukanlah merupakan halaman web yang benar, karena tidak ada informasi yang menunjukkan bahwa informasi yang ditampilkan dalam halaman web tersebut adalah dokumen HTML. Jika kita klik kanan, kemudian View Source, maka yang ditampilkan hanya teks Hello World saja, tidak ada informasi dokumen HTML yang ditandai dengan tag-tag HTML, dari <html>..</html>.

Untuk itu kita harus memperbaiki helloworld.php di atas menjadi seperti berikut:

<?php  
echo "<html>";
echo "<head>";
echo "<title>Hello World</title>";
echo "</head>";
echo "<body>";
echo "Hello World";
echo "</body>";
echo "</html>"; 
?>

Jika kita buka dengan browser web, maka hasilnya sama. Tetapi jika kita View Source, maka kita akan mendapatkan tag-tag dokumen HTML, menunjukkan bahwa informasi yang ditampilkan dalam halaman web adalah dokumen HTML.

Hello World Dengan CI #1

Buat file dengan nama c_hello.php di dalam direktori controllers yang ada di bawah direktori CI20/application, dengan isi seperti berikut:


<?php
class C_hello extends CI_Controller{
function index(){
echo "<html>";
echo "<head>";
echo "<title>Hello World</title>";
echo "</head>";
echo "<body>";
echo "Hello World";
echo "</body>";
echo "</html>";
}
}
?>


Setelah disimpan, maka kita bisa menguji program yang kita buat dengan menggunakan browser web, dengan memasukkan URL http://serverweb/CI20/index.php/c_hello
CI20 adalah nama direktori instalasi CI kita.
Kita tidak perlu menuliskan .php di belakan c_hello di atas, karena CI secara otomatis mengetahuinya.

Kita akan mendapatkan tampilan yang sama dengan helloworld.php, dengan jika kita View Source ada kode dokumen HTMLnya.

Contoh program c_hello.php di atas, merupakan program CI yang paling sederhana, dan disebut dengan controller. Controller c_hello.php ini merupakan program yang paling sederhana dari CI.

Hello World Dengan View - CI #2

Buat file dengan nama c_vhello.php, di dalam direktori controllers, dengan isi seperti berikut:

<?php
class C_vhello extends CI_Controller{

function index(){
$data=array();
$data["judulapp"]="View Untuk Hello world!";
$data["kalimat"]="Hello world!";
$this->load->view("v_hello",$data);
}
}
?>


Buat file dengan nama v_hello.php, di dalam direktori views, dengan isi seperti berikut:


<html>
<head>
<title><?php echo $judulapp;?></title>
</head>
<body>
<?php echo $kalimat;?>
</body>
</html>

Masukkan URL http://serverweb/CI20/index.php/c_vhello ke dalam URL browser web, maka kita akan mendapatkan hasil yang sama dengan yang sebelumnya.


Program c_vhello.php dan v_hello.php adalah program dari CI, yang memisahkan bagian untuk menampilkan data, yaitu perintah echo ke dalam file view dengan nama v_hello.php

Di dalam file v_hello, kita membuat dokumen HTML biasa, kemudian di dalam dokumen HTML tersebut diselipkan perintah untuk menampilkan isi dari variabel-variabel yang perlu ditampilkan di dalam view.

Data variabel yang akan ditampilkan di dalam view harus dideklarasikan terlebih dahulu di dalam controller, dengan mendefinisikan ke dalam array asosiatif. Key dari array asosiatif adalah nama variabel di dalam view.

Di dalam controller c_vhello.php, kita menggunakan perintah untuk memuat view atau dokumen HTML untuk menampilkan informasi dengan menggunakan $this->load->view("namafielview",arraydata); arraydata merupakan parameter pemanggilan view, berupa array yang memiliki key yang akan menjadi nama variabel di dalam view.


Hello World Dengan Model Dan View - CI #3

Buat file dengan nama c_mvhello.php, di dalam direktori controllers, dengan isi seperti berikut:

<?php
class C_mvhello extends CI_Controller{

function index(){
$this->load->model("m_hello");
$data=$this->m_hello->kalimat();
$this->load->view("v_hello",$data);
}
}
?>


Buat file dengan nama m_hello.php, di dalam direktori models, dengan isi seperti berikut:

<?php
class m_hello extends CI_Model{

function kalimat(){
                            $data=array(); 
           $data["judulapp"]="View Untuk Hello world!";                    
           $data["kalimat"]="Hello world!"; return $data; 
           return $data;
}
}
?>

Buat file dengan nama v_hello.php, di dalam direktori views, dengan isi seperti berikut:


<html>
<head>
<title><?php echo $judulapp;?></title>
</head>
<body>
<?php echo $kalimat;?>
</body>
</html>

Masukkan URL http://serverweb/CI20/index.php/c_mvhello ke dalam URL browser web, maka kita akan mendapatkan hasil yang sama dengan yang sebelumnya.


Pada contoh ketiga ini, kita memisahkan data array asosiatif yang akan menjadi variabel, dipisahkan ke dalam file m_hello.php, file ini disebut dengan file model. Di dalam file model ini, kita membuat sebuah fungsi kalimat() yang akan memberikan data berupa array asosiatif yang akan menjadi variabel.


Dari contoh PHP murni sampai dengan contoh ketiga ini, penulis berharap pembaca dapat mengerti dan bisa untuk membuat program dengan teknik MVC. Bagaimana kita secara bertahap bertahap untuk melakukan perubahan dari membuat program dengan satu file controller sampai dengan membuat view dan model.


Mengasah bagaimana membuat program dengan MVC dapat dilakukan secara bertahap. Proses modularisasi atau faktorisasi merupakan proses yang biasa dilakukan, untuk membuat program kita lebih baik.



Tidak ada komentar:

Posting Komentar