Tidak jarang saya menemukan pertanyaan seperti ini di forum:
"Hallo mastah, saya mau belajar Codeigniter tapi bingung harus mulai dari mana?"
atau seperti ini:
"Saya mau belajar codeigniter, kira-kira mulai dari mana ya?"
Dulu, sebelum saya menggunakan framework ini, saya sudah punya bekal pengetahuan dasar menggunakan php. Mulai dari apa yang harus di install, mengamati bagaimana cara kerjanya.
Kemudian saya mengenal konsep pemograman berorientasi objek. Program yang tadinya terdiri dari fungsi-fungsi, di kelompokan menjadi objek-objek yang saling berkomunikasi satu sama lain. Saya mengenal yang nama class, inheritance, polymorphism dan lain-lain yang berkaitan dengan itu.
Tidak perlu pengetahuan yang mendalam tentang Object Oriented Programing untuk mulai menggunakan Codeigniter, kita tahu bagaimana membuat class dan bagaimana melakukan inheritance, itu sudah cukup. Kita sudah bisa membuat web app menggunakan Codeigniter.
Menurut saya, bagi kamu yang masih bingung harus mulai dari mana, cobalah dulu yang paling sederhana, yaitu coba jalankan atau install Codeigniter di komputer kamu.
Sebenarnya, jika kamu sudah tahu dan pernah membuat program menggunakan PHP, walaupun sederhana, harusnya tidak begitu sulit untuk memulai. Karena kamu sudah mempunyai bekal yang cukup untuk memulai.
Yuk, bagi kamu yang masih bingung, coba lakukan hal sederhana berikut:
Kamu kunjungi websitenya, download dan pindahkan ke komputer kamu.
Apakah kamu pernah mencobanya? sederhana saja, minimal install dulu.
Hm, agak aneh juga sih pertanyaannya. Padahal, kalo sudah mengerti bagaimana menggunakan PHP, yang tinggal ikuti aja dokumentasinya.
Sebelum saya menggunakan php framework, terlebih dahulu saya mempelajari dasar-dasar pemograman PHP. Mengetahui cara kerjanya, dan apa saja fitur yang ditawarkan.
Kemudian, saya membuat cms sederhana. Yang penting bisa insert, update dan delete. Itu saja.
Pernah punya pertanyaan seperti itu gak? atau kalian pernah gak ditanya seperti itu?
Kalo kalian pernah seliweran di forum-forum php atau khususnya di forum codeigniter, saya yakin kamu pernah menemukan pertanyaan seperti itu.
Saat awal belajar, sayapun mengalami kebingungan seperti itu. Saya gak tau harus mulai dari mana. Waktu itu, internet belum seperti sekarang ini. Masih jarang yang menggunakan smartphone. Saya harus bulak-balik ke warnet. Kalo warnetnya kosong, lansung bisa pake. Tapi, jika sedang penuh? Mesti nunggu berjam-jam. Menyebalkan!
Ko jadi curhat?, oke langsung aja ya.
Berikut adalah hal-hal yang perlu diketahui sebelum mempelajari Framework Codeigniter:
1. Bahasa Pemograman PHP
Framework hanya tools tambahan. Di dalam framework tersebut sudah ada struktur, library, helper, security dan lain sebagainya, yang siap kita gunakan. Dengan begitu, kita hanya fokus dengan apa ingin kita buat dengan memanfaatkan dengan apa yang telah disediakan oleh framework.
Misal, kita ingin aplikasi berinteraksi dengan database, gunakan library active record. Dengan library ini, kita gak perlu report untuk urusan query-query ke database. Library ini akan meng-generate query, sehingga meminimalkan kesalahan dalam mengetikan query.
Atau kita ingin membuat validasi untuk form, ada library form_validation. Anda hanya perlu baca dokumentasi dan ikuti. Kecuali, untuk hal-hal yang lebih detail kita perlu untuk membuatnya sendiri. Contoh: validasi username atau email tidak harus unik.
Tetapi, dasar dari itu semua adalah bahasa pemograman PHP. Kita mesti tahu bagaimana mendefinisikan variable, fungsi, class, pengkodisian, looping dan lain sebagainya. Kenapa? karena seperti yang saya singgung sebelumya, framework hanya sebuah tools tambahan.
Jadi, bagi kalian yang belum mengenal PHP, jangan dulu loncat ke framework ya. Kalo kalian tetap memaksakan, dijamin kalian pasti bingung.
2. Pemograman Berorientasi Objek
Tulisan ini dibuat mengacu pada Framework Codeigniter versi 3. Di versi ini, tidak seutuhnya menggunakan konsep Object Oriented Programing. Tetapi yang perlu Anda ketahui adalah konsep class dan inherintance. Saya tidak mengatakan bahwa yang lainnya itu tidak perlu, tetapi yang lainnya jarang digunakan.
Kita akan menggunakan class dan inheritance di Controller, Model atau Library. Berikut adalah contoh class Controller:
Potongan kode diatas,
kita mendefinisikan class dengan nama Employee_controller yang di extends atau diturunkan dari class CI_Controller. Dengan begitu, class Employee_controller akan mewarisi atau memiliki fungsionalitas yang diturunkan dari moyangnya, yaitu CI_Controller.
Kang, saya sudah belajar dengan apa yang sudah disebutkan akang tadi, baik pemograman php maupun konsep pemograman berorientasi objek. Tapi, ketika saya buka dokumentasinya, saya harus mulai dari mana?
Baiklah, mari kita lanjut dengan pengenalan
Controller dan View.