CodeIgniter adalah framework yang bekerja dengan menggunakan PHP (Hypertext
Preprocessor). PHP sendiri adalah sebuah bahasa pemrograman yang banyak
dipergunakan dalam pembuatan website dinamis. PHP adalah sebuah bahasa
pemrograman berbasis web yang tergolong mudah dan free, telah
dikembangkan sejak 15 tahun yang lalu dan dapat digunakan dalam sebagian
besar webserver, misalnya webserver Apache, Lighttpd, nginx, dan
lain-lain. Selain itu PHP juga dapat dipergunakan dalam aplikasi
berbasis GUI (desktop).
Untuk lebih lengkapnya literatur tentang PHP dapat diperoleh pada beberapa website berikut :
1. http://en.wikipedia.org/wiki/PHP
2. http://gtk.php.net
3. http://httpd.apache.org/
4. http://nginx.org/
5. http://www.lighttpd.net/
PHP Framework dapat dijelaskan secara sederhana sebagai
sebuah upaya untuk bekerja dengan kode-kode PHP di mana model yang sama
dapat dibuat ke dalam bentuk method dan class. Dengan demikian,
function menjadi bagian dari class.
Apakah MVC?
MVC (Model-View-Controller), adalah pola arsitektur yang dipergunakan pada kebanyakan bahasa pemrograman dan scripting, termasuk PHP.
Model – sebagai modul yang bekerja untuk menghubungkan
aplikasi dengan database. Dalam hal ini Model diberi fungsi untuk
membuat database, membaca database, memperbarui database, dan menghapus
database (Create, Read, Update, Delete).
View – sebagai modul yag bekerja untuk menampilkan data
melalui controller dan ditampilkan dalam bahasa HTML. Secara sederhana
View dapat digambarkan sebagai setiap halaman web yang ditampilkan.
Controller – modul program yang bekerja untuk menangani
request, memanipulasi model dan controller yang lain. Secara sederhana,
Controller dapat diibaratkan sebagai pengatur lalu-lintas.
MVC Pattern
Penjelasannya adalah sebagai berikut :
1. Komputer (Browser) mengirimkan permintaan ke Controller.
2. Controller menghubungi Model, membuat permintaan.
3. Model akan memproses permintaan, kemudian mengembalikan data ke Controller.
4. Controller menganalisis hasil (jika membutuhkan banyak data, maka Controller akan membuat permintaan lain ke Model).
5. Data dikirim ke view yang kemudian akan diterjemahkan oleh webserver
(contohnya Apache) dan akan dikembalikan/ditampilkan pada browser.
Contoh pada halaman registrasi :
1. User membuka halaman registrasi, kemudian mengisi form yang disediakan dan mengklik tombol Submit.
2. Permintaan akan dikirimkan ke Controller, Controller akan meminta Model tentang identitas pengirim.
3. Model menganalisis data yang dikirimkan oleh pengguna. Jika pengguna
telah menjadi member, maka data akan dianggap benar. Model akan
mengirimkan pesan bahwa data diterima atau ditolak kepada Controller.
4. Controller selanjutnya akan menganalisis pesan yang datang dari Model
(Diterima atau Ditolak), kemudian memutuskan langkah berikutnya.
5. Terakhir, Controller akan mengirimkan pesan kepada View. Dalam hal
ini View menampilkan halaman sesuai dengan pesan dari Controller :
halaman Selamat Datang, atau halaman Error.
Mengapa Menggunakan CodeIgniter?
CodeIgniter menggunakan arsitektur MVC sehingga aplikasi dapat dikelola
dengan cara yang lebih mudah dibandingkan dengan menggunakan pola
procedural dengan function.
CodeIgniter sangat mudah untuk dipelajari dan terdokumentasikan dengan
baik dan sangat mudah untuk dikembangkan dengan perintah extend.
CodeIgniter adalah sebuah framework PHP yang sangat ringan (2.1 MB termasuk dokumentasi). Bandingkan dengan framework PHP yang lain :
1. Zend Framework 1.10.2 Full – 24 MB
2. Symfony 1.4.3 – 5.1 MB
3. CakePHP 1.2.6 – 4.5 MB
4. Yii Framework – 4.2 MB
CodeIgniter adalah Framework PHP yang sangat cepat dibandingkan dengan
framework yang lain. Proses instalasi sangat mudah, yang kita lakukan
hanya unzip file source codenya, kemudian upload file-file tersebut ke
host website, secara sederhana yang dilakukan hanya mengeset satu
parameter dan selesai. Jika dibutuhkan lebih dari satu, maka lakukan
perubahan terhadap variable-variabel config.
CodeIgniter tidak memiliki command line tool seperti pada CakePHP atau
Symfony. Bagi programmer yang membutuhkan command line tool, dengan
alasan dapat membuat model, view, controller dan hal-hal lain sekaligus.
Akan tetapi tidak semua orang membutuhkan sebuah model atau sebuah view
untuk controller.
Pertanyaan lain adalah “Mengapa harus membuat framework yang berukuran
besar?”. Kebanyakan framework telah dilengkapi dengan library tambahan,
seperti : autentikasi, captcha, currency, RSS feed,
ajax,
koneksi dengan webservice – Twitter, Flickr, dll.), Object Relation
Mapper, dan lain-lain. Pada dasarnya sebuah project normal tidak
membutuhkan tambahan apapun, cukup dengan apa yang dibutuhkan. Akan
tetapi, jika kita membutuhkan tambahan sesuai dengan projek yang kita
kerjakan, maka kita bisa mencari berbagai add-on yang dibutuhkan.
CodeIgniter dan PHP Framework adalah Open Source, jadi kita dapat
mencari add-on yang banyak tersedia secara gratis di internet. Banyak
libraries, help, dan berbagai open source yang bisa diunduh.
Keuntungan lain dari CodeIgniter adalah membantu membangun link. Hal ini
akan sangat bermanfaat ketika kita memindahkan satu projek dari satu
domain ke domain yang lain. Biasanya programmer akan menggunakan alamat
relatif.
Contoh link yang dibuat dengan CodeIgniter adalah 2 metoda berikut :
base_url() dan site_url()
Kedua metode akan menghasilkan alamat URL pada aplikasi, akan tetapi
terdapat perbedaan kecil di antara keduanya. Hasilnya adalah sebagai
berikut :
domain.com/my_blog ; Dengan demikian, base_url() akan menghasilkan alamat URL absolut.
CodeIgniter juga memiliki validasi library yang sangat baik, kita dapat
melakukan validasi terhadap data dengan sangat mudah, sebelum melakukan
operasi database.
Mengirim email akan menjadi sangat mudah. CodeIgniter memiliki class
untuk email, dengan mudah kita dapat mengirim email dengan menggunakan
kode berikut :
$this->email->to(“my_friend@example.com”);
$this->email->from(‘me@example.com’);
$this->email->subject(‘Hello from CodeIgniter’);
$this->email->message(‘This is my first email from CodeIgniter.’);
$this->email->send();
Sama halnya dengan mengirimkan attachment, cukup tuliskan kode berikut :
$this->email->attach(‘/relative/path/to/your/attachment.png’);
Sumber :http://padangprogramer.blogspot.com/2012/06/memahami-apa-itu-codeigniter-secara.html
This comment has been removed by a blog administrator.
ReplyDelete