Berkenalan dengan Framework CodeIgniter

1. Apa itu CodeIgniter?

CodeIgniter ( C I ) adalah sebuah kerangka (framework) pembangunan aplikasi atau mudahnya disebut toolkit, untuk developer yang akan membuat aplikasi web dengan PHP. Tujuan CI adalah supaya pembangunan aplikasi lebih cepat dibanding menulis source code dari awal, karena CI telah meyediakan banyak library untuk proses-proses yang sering digunakan pada suatu aplikasi, dan juga dengan kemudahan dalam menggunakan library tersebut serta kesederhaan penggunaannya.

CodeIgniter ditulis (dibuat) oleh Rick Ellis, seorang musisi rock yang menjadi programmer. Ia membangun perusahaan bernama Ellis Lab, yang mengembangkan beberapa produk unggulan salah satunya CodeIgniter.

CodeIgniter cocok untuk developer yang:

a. Menginginkan framework yang sederhana.

b. Membutuhkan kinerja yang luar biasa.

c. Membutuhkan kompatibilitas yang luas dengan berbagai web hosting.

d. Menginginkan framework yang hampir tidak ada konfigurasi.

e. Menginginkan framework yang tidak menggunakan command line.

f. Menginginkan framework yang tidak mengharuskan mematuhi aturan penulisan source code.

g. Tidak ingin dipaksa harus mempelajari templating language.

h. Tidak menyukai kompleksitas, lebih menyukai solusi yang sederhana.

i. Membutuhkan dokumentasi yang baik.

 

Keunggulan CodeIgniter:

a. Gratis.

b. Ringan.

Inti sistem CI hanya membutuhkan sangat sedikit library, hal ini merupakan perbedaan kontras dengan framework lain. Library lainnya dapat digunakan dinamis berdasarkan kebutuhan.

c. Cepat.

Sampai saat ini CI masih diakui sebagai framework yang paling cepat.

d. Menggunakan Konsep MVC.

e. Clean URL.

URL yang digunakan CI bersifat search-engine friendly. Menggunakan pendekatan segment-based.

example.com/news/artikel/123

f. Library yang lengkap.

g. Dapat diperluas.

Developer dapat dengan mudah mengembangkan (extend) library, helper atau bahkan perluasan class inti CI.

h. Dukungan teknis yang lengkap di forum CI.

 

2. Alur Proses Aplikasi

Gambar berikut ini mengilustrasikan alur proses data pada CI:

alur proses codeigniter

a. Index.php berfungsi sebagai pengendali awal, menginisialisasi sumber daya utama yang dibutuhkan CodeIgniter.

b. Router memeriksa paket HTTP request untuk menentukan aksi apa yang harus dilakukan oleh sistem.

c. Jika tersedia, maka halaman langsung dikirim ke browser, eksekusi sistem yang normal akan dilewati.

d. Security. Sebelum Application Controller dieksekusi, paket HTTP request dan semua data yang dikirimkan pengguna akan disaring terlebih dahulu oleh Security Class.

e. Application Controller menginisialisasi model, library utama, helpers dan semua sumberdaya yang dibutuhkan untuk setiap request.

f. Antarmuka aplikasi (view) yang sudah disiapkan dikirimkan ke browser. Jika caching diaktifkan, maka view akan disimpan sementara untuk request yang sama berikutnya.

 

3. Model, View, Controller, Libraries, Helper

Seperti framework PHP pada umumnya, CodeIgniter menggunakan konsep MVC serta menyediakan banyak library dan helper untuk digunakan. Berikut penjelasan mengenai model, view, controller, library dan helper.

Model, merepresentasikan struktur data. Biasanya class model akan berisi fungsi-fungsi untuk mengambil data, insert data, dan update data ke database. Pada CI, model tidak harus digunakan, tapi hal ini akan menghilangkan konsep MVC itu sendiri.

View, adalah informasi / halaman yang ditampilkan ke pengguna. Sebuah view biasanya adalah sebuah web page, tapi di CodeIgniter view juga dapat berupa bagian-bagian halaman web, seperti header dan footer. Bahkan view juga dapat berupa halaman RSS.

Controller, berfungsi sebagai penghubung antara Model, View dan dengan sumber daya lain yang digunakan untuk memproses HTTP request. Controller juga biasanya berfungsi sebagai inti pemrosesan lojik aplikasi.

Libraries, adalah macam-macam class yang masing-masing mempunyai fungsi khusus yang dapat digunakan untuk mengembangkan aplikasi. Contoh library database, email, validasi form, dan lain-lain.

Helper, seperti namanya berfungsi menolong untuk melakukan tugas-tugas tertentu. Setiap file helper terdiri dari kumpulan fungsi (function). Contoh URL Helper yang berfungsi untuk membuat link, Form helper untuk membuat elemen-elemen form. Tidak seperti library, helper tidak menggunakan format Object Oriented, sehingga dapat digunakan dimanapun, baik itu di model, view, controller dan library.

4. CodeIgniter URL

Secara default, URL pada CodeIgniter didesain agar search-engine dan human-friendly, menggunakan pendekatan segment-based .

example.com/index.php/class/function/parameter1/parameter2

a. Index.php merupakan segment ke-0.

b. Segment pertama merepresentasikan class controller yang diakses.

c. Segment kedua merepresentasikan nama method yang dipanggil pada class tersebut.

d. Segment ketiga dan seterusnya bersifat optional, merepresentasikan parameter masukan untuk fungsi yang dipanggil tersebut.

Index.php dapat dihilingkan dengan .htaccess sederhana. Jika ingin menghilangkan index.php, sebaiknya lakukan diawal sebelum source-code aplikasi dibuat, karena jika aplikasi sudah jadi dan index.php dihilangkan, dapat merubah struktur link seluruh aplikasi, contohnya menu, dan paging.

=> bersambung ke Menggunakan Codeigniter

Jadibaru

Orang bijak selalu tinggalkan jejak, :)

You may also like...

2 Responses

  1. ery says:

    mau tanya,. kalau untuk pembuatan menu horizontal yang dimana menunya ditambahkan oleh adminnya sendiri, jadi scriptnya gimna ya?

Leave a Reply

Your email address will not be published. Required fields are marked *