Berkenalan dengan Code Igniter

Mungkin bagi anda programmer PHP yang sering menggunakan pattern MVC, sudah tidak asing lagi dengan Code Igniter. Yap, saya baru anak kemarin sore (maksudnya, masih baru). Kira2 baru semingguan ini saya mengutak utik Code Igniter. Menurut mas Okto Silaban di websitenya, kompas, tabloid pcplus dan okezone sama2 menggunakan Code Igniter sebagai base engine-nya.

Seperti di lansirkan pada website Code Igniter:

CodeIgniter is an Application Development Framework – a toolkit – for people who build web sites using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by minimizing the amount of code needed for a given task.

Kali pertama saya mencoba melalui user guidenya, membuat sebuah blog, satu kata yang terungkap: WOW! Hebat, mudah sekali membuat sebuah pattern Model View Controller di PHP dengan Code Igniter, lebih mudah di banding Prado dan Smarty.

Sebelumnya saya pernah menggunakan berbagai macam framework yang berjalan pada PHP, salah satunya adalah Prado, yang pada tahun 2004 pernah memenangkan kontes coding yang di selenggarakan Zend. Waktu itu saya benar2 jatuh cinta dengan Prado, karena waktu itu saya sedang tergila2nya pada Webservice yang menjadi fitur bawaan Prado, tetapi ternyata waktu itu masih jarang sekali web hosting yang menyediakan PHP5 sehingga saya masih kesulitan untuk mendevelop aplikasi based on PHP5 pada awal2 2006 (sekarang sih sudah banyak). Keunggulan Prado, banyak class yang bagus2, tetapi itu juga sebagai kelemahan nya, karena class2 tersebut sebetulnya belum tentu terpakai juga semuanya oleh developer. Yang agak merepotkan, Prado datang dengan javascript bawaan nya yang sulit sekali saya kustomisasi. Terus terang, Prado bagus, tetapi masih belum cocok untuk saya.

Terakhir saya akhirnya menggunakan Smarty template engine yang hanya butuh satu file (Smarty.php), untuk pengembangan aplikasi yang sudah mendekati konsep MVC, karena kode program dan tampilan benar2 dipisah. Tetapi kendala selanjutnya adalah ketika kita (sebagai developer) harus mulai belajar bahasa baru lagi, yaitu templating language yang memparsing variabel yang dilewatkan oleh kode PHP ke template yang dituju. Contohnya seperti ini:

{foreach item=foo from=$ar_foos name=bar}
<li class="{if $smarty.foreach.bar.last}last{/if}">
{if $foo->ar_foos}
{include file="file_name.tpl" ar_foos=$foo->ar_foos}
{/if}
</li>
{/foreach}

Agak pusing kan kalo ada bahasa baru lagi yg harus kita pelajari?

Sampai akhirnya saya memutuskan untuk membuat sendiri MVC pattern secara manual setiap kali pengembangan aplikasi yang saya lakukan, bukan apa2, hanya karena kalau kita yang buat, kita jadi lebih paham dalam nya (class ini buat apa, method itu buat apa dsb) dibanding buatan orang lain, dan sampai saat ini saya masih berpijak pada simplicity dan ease of use dalam pembuatan aplikasi dibanding membuat banyak kelas dengan banyak method yang sebetulnya jarang kita gunakan, mubazir dan hanya memperbesar ukuran file yang pada akhirnya membuat aplikasi kita jadi lambat, karena semua fungsi di pooling di satu file.

Belakangan saya mendengar ada framework baru(mungkin untuk yang sudah biasa terjun di dunia codingisasi PHP sudah pernah dengar), yaitu CakePHP. Tapi sama seperti mas Okto, saya sendiri belum melihat adanya website lokal yang menggunakan CakePHP. Belum melihat apa belum explore lagi? hehe..Untuk yang satu ini saya sendiri belum sempat pelajari CakePHP ini lebih lanjut, eh sekarang sudah ada Code Igniter hehe..

Salah satu keunggulan Code Igniter yang saya sukai adalah adanya Benchmark class, URI routing class dan Helper reference. Yang tentunya mempermudah saya dalam melakukan pengembangan tanpa harus berulang kali memanggil fungsi2 yang dibutuhkan.

Berikut keunggulan Code Igniter secara eksplisit seperti yang tercantum dalam dokumentasinya:

Who is CodeIgniter For?

CodeIgniter is right for you if:

  • You want a framework with a small footprint.
  • You need exceptional performance.
  • You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.
  • You want a framework that requires nearly zero configuration.
  • You want a framework that does not require you to use the command line.
  • You want a framework that does not require you to adhere to restrictive coding rules.
  • You are not interested in large-scale monolithic libraries like PEAR.
  • You do not want to be forced to learn a templating language (although a template parser is optionally available if you desire one).
  • You eschew complexity, favoring simple solutions.
  • You need clear, thorough documentation.

Cukup jelas bukan? hehe..sepertinya saya masih ingin explore lebih dalam lagi dengan Code Igniter.

Go..go..go..Code Igniter (Promosi dikit hehe..)

6 Comments

  1. Tapi saya sekarang dah bergeser ke CakePHP kok mas.. :P

    Awalnya saya memang sangat kesulitan dengan CakePHP, apalagi karena waktu itu belum ada dokumentasi yang bisa dijadikan panduan pegangan. Tetapi setelah jalan sekarang, sudah cukup nyamanlah..

    Dari pengalaman saya sih, CodeIgniter itu cocok untuk kita yang butuh banyak penanganan kustom. Mulai dari desain database, query, sistem autentifikasi, arsitektur website, templating, dll..

    Di CakePHP dengan mengikuti aturan – aturan mereka yang njelimet dan banyak itu, jadinya memang susah di awal. Saya harus belajar standarisasi penamaan database, penamaan tabel, cara kerjanya, logikanya, dan yang paling penting : relasi antar tabel. Tapi begitu sudah cukup paham dasarnya, selanjutnya enak kok..

    *walaupun masih banyak bagian tertentu yang bikin saya pusing.. :D

  2. @yudahebat
    hehe..saya juga belum hebat2 amat kok mas.

    @labanux
    oh gitu ya mas, kata orang cakePHP dokumentasinya sedikit? emang benar ya? soalnya saya juga agak kesulitan mencari dokumentasi maupun tutorial dasarnya cakePHP.
    oke oke makasih ya mas sarannya

    @KiJoko3dan
    mantep mas websitenya, bersih :) cuma masih dikit linknya ya?

  3. Googling result nich … Dulu saya pake CI, sekitar 4 bulan, saya nilai, sudah di level Intermediate, terus pindah kerja dan di minta belajar Prado. Gaya nya banyak beda nya, Prado OOP banget, sangat kesulitan awal nya, sekarang juga masih ada sulit nya, tapi udah lebih familiar dengan Prado, Alhamdulillah. Baca artikel ini, jadi ingat dengan CI. Tks.

    1. Terimakasih sudah berkunjung ke website saya. CI memang berbeda dgn Prado dari segi OOPnya, menurut saya Prado sedikit lebih kompleks dari sisi fitur, hanya saja penggunaannya sedikit ribet(menurut saya lho..) :)

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s