Senin, 12 September 2011

CODEIGNITER

Ø    Definisi CodeIgniter
CodeIgniter adalah sebuah framework PHP yang dapat membantu mempercepat developer dalam pngembangan aplikasi web berbasis PHP dibanding jika menulis semua kode program dari awal.
CodeIgniter menyediakan banyaklibrary untuk mengerjakan tugas-tugas yang umumnya ada pada sebuah aplikasi berbasis web. Selain itu, struktur dan susunan logis dari CodeIgniter membuat aplikasi yang kita buat menjadi semakin teratur dan rapi.
CodeIgniter pertama kali dibuat oleh Rick Ellis, CEO Ellislab, Inc, (http://ellislab.com), sebuah perusahaan yang memproduksi sebuah CMS (Content Management System) yang cukup handal yaitu ExpressionEngine (http://www.expressionengine.com). Saat ini, CodeIgniter dikembangkan dan dimaintain oleh ExpressionEngine Development Team.
Adapun beberapa keuntungan menggunakan CodeIgniter, diantaranya:
1.      Gratis
CodeIgniter berlisensi dibawah Apache/BSD opensource, jadi kita bisa menggunakan secara bebas.
2.      Ditulis menggunakan PHP 4
Meskipun CodeIgniter dapat berjalan pada PHP 5, namun sampai saat ini kode program  CodeIgniter masih dibuat dengan menggunakan PHP 4. Hal ini dilakukan agar CodeIgniter  dapat tersebar luas dikomunitas PHP. Karena hingga saat ini, sebagian besar web hosting masih menggunakan PHP 4. Jika CodeIgniter dibuat dengan PHP 5, tetu saja hasilnya juga akan jauh lebih canggih,karena bisa memanfaatkan teknologi PHP 5 yang saat ini masih belum dapat dilakukan oleh PHP 4,misalnya untukmenerapkan OOP Multiple Inheritance.
3.      Berukuran kecil
Ukuran CodeIgniter yang kecilmerupakan keunggulan tersendiri. Dibanding framework lain yang berukuran besar, serta membutuhkan resource yang besar pula untuk berjalan. Pada CodeIgniter , bisa diatur agar system meload library yang dibutuhkan saja, sehingga system dapat berjalan ringan dan cepat.
4.      Menggunakan konsep M_V_C
CodeIgniter  menggunakan konsep M_V_C (Model-View-Controller) yang memungkinkan pemisahan antara layer application-logic dan presentation.
5.      URL yang sederhana
Secara default, URL yang dihasilkan CodeIgniter  sangat bersih (clean)dan Search Engine Friendly (SEF)
6.      Memiliki paket library yang lengkap
CodeIgniter memiliki library yang lengkap untuk mengerjakan operasi-operasi yang umum dibutuhkan oleh sebuah aplikasi berbasis web, misalnya mengakses database, mengirim email, memvalidasi form,menangani session dan sebagainya.
7.      Extensible
Sistem dapat dikembangkan dengan mudah dengan menggunakan plugin dan helper, atau dengan menggunakan hooks.
8.      Tidak perlumenggunakan template Engine
Meskipun CodeIgniter dilengkapi dengan template parser sederhana yang dapat kita gunakan, tetapi hal ini tidak mengharuskan kita untuk menggunakannya. Penggunaan template engine dapat mengurangi performance dari system.
9.      Dokumentasi lengkap dan jelas
Dari sekian banyak framework, CodeIgniter adalah satu-satunya framework dengan dokumentasi yang lengkap dan jelas
10.  Komunitas
Komunitas pengguna CodeIgniter saat ini berkembang pesat kitapun dapat berpartisipasi di http:// codeigniter.com/forums/. Forum CodeIgniter  adalah salah satu tempat yang layak kita kunjungi.

Ø    Kebutuhan system
Untuk menjalankan CodeIgniter diperlukan server  yang menjalankan PHP versi 4.3.2 atau yang lebih tingggi. Jika aplikasi kita membutuhkan database, maka CodeIgniter dapat mendukung RDMS MySQL (4.1+), MySQLi, Ms.SQL Server, Postgres, Oracle, SQLite, dan ODBC.

Ø    Fitur CodeIgniter
Berikut ini adlah fitur2 CodeIgniter:
·     Model-View-Controller Based
·     PHP 4 Compatible
·     Extremely Light Weight
·     Full Featured database classes with support for several platforms
·     Active Record Database Support
·     Form and data validation
·     Security and XSS Filtering
·     Session Management
·     Email sending class, Support Attachment,HTML/Text email, multiple protocols (sendmail, SMTP, and mail)
·     Image Manipulation Library (cropping, resizing, rotating). Support GD, Image Magick dan NetPBM
·     File Uploading Class
·     FTP Class
·     Localization
·     Pagination
·     Data Encryption
·     Benchmarking
·     Full page Caching
·     Error Logging
·     Application Profiling
·     Scaffolding
·     Calendaring class
·     User Agent Class
·     Zip Encoding Class
·     Template Engine Class
·     Trackback Class
·     XML-RPC Library
·     Unit  Testing Class
·     Search Engine Friendly URLs
·     Flexible URL Routing
·     Support for Hooks , Class Extensions, and Plugins
·     Large library of “helper” functions

Ø    Macam-macam file CodeIgniter:
Secara garis besar ada 4 jenis file pada CodeIgniter, yaitu:
1.      Model
2.      Library
3.      Helper
4.      Plugin


Ø    Library CodeIgniter
Library yang termasuk di CodeIgniter adalah
·        Benchmarking: Library benchmarking selalu aktif. Bisa digunakan untuk menghitung penggunaa memori.
·        Calendaring: Library Calendering harus diload oleh Controller.digunakan untukmembuat kalender untuk bulan dan tahun tertentu.
·        Config: Library Config diinidialisasi secara otomatis oleh system. Digunakan untuk menerima informasi mengenai konfigurasi system.
·        Database: Library Database sangat handal dilengkapi dengan berbagai method untuk manipulasi database.
·        Email: Library Email digunakan untuk mengirim email.
·        Encription: Library Encription digunaka untuk operasi enkripsi.
·        File uploading: Gunakan library ini untuk melakukan upload file. menyediakan fitur untuk validasi, agar file sesuai dengan mime type, ukuran(size dalam kilobytes) atau dimensi untuk gambar.
·        FTP: Gunakan library FTP untuk mentransfer file ke remote server. saat ini hanya mendukung FTP standar.
·        HTML Table: Jika anda membutuhkan cara yang cepat untuk menggenerate tabel HTML, maka gunakan library ini . Library HTML table akan menggenerate tabel dari array atau hasil dari query database.
·        Image Manipulation: Digunakan untuk meresize, membuat thumbail, crop atau rotate gambar, serta watermark. beberapa fungsi membutuhkan suport php yang leih baik, misalnya GD/GD2.
·        Input and Security: Digunakan untuk pre-proses input data dari form dan URL serta untuk menghandle beberapa fungsi security (misalnya untuk menghadapi serangan XXS attacks).
·        Language: Gnakan untuk meload beberapa bahasa yang berbeda untk jika situs anda membutuhkannya.
·        Loader: Library ini secara otomatis diload oleh sistem. anda akan sering menggunakan library ini untuk meload view di dalam controller, selain itu juga untuk meload libraries.
·        Output: Otomatis dload oleh sistem. Lirary ini mempunyai sebuah fungsi utama, yaitu mengirimkan halaman web ke browser yang merequest. juga digunakan untuk proses caching.
·        Pagination: Digunakan untuk membuat Pagination dari hasil query database. dapat diatur berapa record yan ingin ditampilkan dalam satu halaman. anda juga dapat mengatur tampilan pagination.
·        Session: digunakan untuk memaintain state seorang user. Library ini tidak menggunakan session miik PHP, tetapi mnghasilkan data untuk session sendiri.
·        Template Parser: digunakan untuk membuat template yang berisi pseudo template. jika anda pernah menggunakan smarty, maka template parser CodeIgniter tidak lengkap dan sepowerfull smarty, tetapi cukup berguna.
·        Trackback: digunakan untuk mengirim dan menerima data Trackback.
·        Unit Testing: gunakan library ini untuk melkukan unit setting.
·        URL Class: Library ini diload secara otomatis oleh sistem. digunakan untuk memparser URL, membaginya ke dalam segment-segment yang dapat dilewatkan melalui controller atau disimpan ssebagai variabel.
·        User Agent: digunakan untuk mengidentifikasi browser, mobile device atau robot (misalnya milik search engine) yang berkunjung ke situs anda.
·        Form Validation: sebuah class yang sangat berguna. digunakan untuk memvalidasi input form.
·        XML-RPC: Dihunakan untuk menyeting XML-RPC client dan server.
·        Zip Encoding: diguanakan untuk membuat arsip Zip untuk text dan data binary.
Itulah beberapa Library yang termasuk di CodeIgniter. Library  CodeIgniter memudahkan kita dalam membuat sebuah sistem informasi, karena sangat efisien dan praktis. semoga tulisan saya ini dapat bermanfat  dan menambah wawasan teman-teman semua.

0 komentar:

Posting Komentar

 
Copyright Thia 2009. Powered by Blogger.Designed by Ezwpthemes .
Converted To Blogger Template by Anshul .