PHP memiliki banyak framework, saking banyaknya kadang kita dibuat
galau untuk memilih framework.
Milih framework saja masih bingung…
…apalagi milih jodoh ?.
Serius!
Banyak yang masih galau memilih framework.
Bahkan menghabiskan waktunya untuk mencari perbandingan
antar framework.
Daripada mebanding-bandingkan,
sebaiknya kita mulai belajar salah satu framework.
Agar nanti kita bisa menyimpulkan sendiri,
mana framework yang disukai dan cocok untuk
kita gunakan.
Kalau tidak cocok… ya tinggal cari dan pelajari
framework yang lain.
Sia-sia donk, sudah susah belajar tapi tidak cocok.
Menurut saya:
Tidak ada yang namanya sia-sia dalam belajar.
Karena kita akan mendapatkan ilmu dan pengalaman.
Kalaupun ilmunya belum bisa diamalkan, setidaknya
kita bisa mengajari orang lain.
Oke, lanjut…
Ngomong-ngomong, apa itu framework?
Framework dalam bahasa indonesia artinya kerangka kerja.
Kerangka kerja untuk membuat sesuatu (web).
*koreksi typo: tampa = tanpa
Perumpamaannya mungkin bisa seperti itu.
Dengan menggunakan framework, pembuatan web akan lebih cepat
dibandingkan PHP Native. Karena kita tidak perlu membuat
semuanya dari nol.
Framework sudah menyediakan fungsi,
library, dan peralatan lainnya yang kita butuhkan.
Salah satu framework yang cukup populer di
Indonesia adalah Codeigniter.
Apa itu Codeigniter?
Codeigniter merupakan sebuah framework PHP yang menggunakan
pola desain (design pattern) MVC (Model View Controller). 1
CodeIgniter dirilis pertama kali pada 28 Februari 2006.
Versi stabil terakhir—saat tulisan ini dibuat—adalah versi 3.1.9.
Sedangkan Codeigniter 4
masih dalam tahap pengembangan. CI 4 adalah generasi penerus dari CI 3
yang konsepnya lebih modern. 2
Codeigniter cocok digunakan untuk membuat aplikasi web seperti:
- Portal Berita;
- Sistem Informasi;
- Web Startup;
- Profile Company;
- eComerce;
- Blog;
- dan sebagainya.
Kelebihan Codeigniter
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain, 3
- Performa cepat: Codeigniter merupakan framework yang paling cepat dibanding framework yang lain. Karena tidak menggunakan template engine dan ORM yang dapat memperlambat proses.
- Konfigurasi yang minim (nearly zero configuration): tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti
database.php
atauautoload.php
, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu mengubah sedikit saja pada file di folder config. - Memiliki banyak komunitas: Komunitas CI di indonesia cukup ramai, tutorialnya pun mudah dicari.
- Dokumentasi yang lengkap: Codeigniter disertai dengan
user_guide
yang berisi dokumentasi yang lengkap. - Mudah dipelajari pemula: Bagi pemula, CI sangat mudah dipelajari. Karena CI tidak terlalu bergantung pada tool tambahan seperti composer, ORM, Template Engine, dll.
Contoh Website yang dikembangkan dengan Codeigniter
Salah satu website indonesia yang masih menggunakan CI hingga saat ini
adalah projects.co.id.
Membuat Project Codeigniter
Langkah-langkah yang harus dilakukan untuk membuat project CI:
- Download Codeigniter;
- Ekstrak CI ke htdocs.
Silahkan buka website Codeigniter untuk mendownload.
Kita akan mendapatkan sebuah file zip ? CodeIgniter-3.1.9.zip
,
ekstrak file tersebut ke dalam c:xampphtdocs
(XAMPP) atau /var/www/html
(di Linux).
Setelah itu, ubah nama CodeIgniter-3.1.9
menjadi tokobuah
.
Kenapa namanya tokobuah
?
Karena pada project ini, kita akan membuat sebuah website yang
menjual buah.
Sekarang coba buka: http://localhost/tokobuah/
Selamat ? Codeigniter sudah berhasil diinstal.
Selanjutnya, silahkan buka dengan teks editor.
Lalu coba untuk mengenali struktur direktorinya.
Saya membukanya dengan teks editor VS Code:
Mengenal Struktur Direktori Codeigniter
Ini adalah struktur direktori Codeigniter:
Tedapat dua direktori penting di dalam CI: ? application
dan ? system
.
Selain itu terdapat juga direktori ? user_guide
dan beberapa file. Berikut ini penjelasannya:
- ?
application
berisi semua kode aplikasi. Di dalam direktori inilah kita akan menulis semua kode aplikasi kita. - ?
system
berisi kode-kode inti dari Codeiniter. Jangan mengubah apapun di dalam direktori ini. Jika kita ingin upgrade versi, kita cukup me-replace direktori ini dengan yang baru. - ?
tests
berisi kode untuk melakukan unit testing. - ?
user_guide
berisi dokumentasi codeigniter. Kita bisa menghapus direktori ini saat web sudah jadi. - ?
.editor_config
berisi konfigurasi untuk teks editor. - ?
.gitignore
berisi daftar file dan folder yang akan diabaikan oleh Git. - ?
comspoer.json
adalah file yang berisi keterangan project dan keterangan library yang digunakan. File ini dibutuhkan oleh composer. - ?
contributing.md
adalah file yang berisi penjelasan cara berkontribusi di proyek CI. Kita bisa menghapus file ini, apabila web sudah jadi. - ?
license.txt
adalah file yang berisi keterangan lisensi dari CI. - ?
readme.rst
sama seperti file ?contributing.md
file ini berisi penjelasan dan informasi tentang project CI. Kita juga bisa menghapus file ini saat web sudah selesai. - ?
index.php
adalah file utama dari CI. File yang akan dibuka pertamakali saat kita mengakses web.
Selanjutnya silahkan buka direktori ? application
dan perhatikan direktori yang
ada di sana.
- ?
cache
berisi cache dari aplikasi. - ?
config
berisi konfigurasi aplikasi.- ?
autoload.php
tempat kita mendefinisikan autoload; - ?
config.php
konfigurasi aplikasi; - ?
constants.php
berisi konstanta; - ?
database.php
konfigurasi database aplikasi; - ?
doctypes.php
berisi definisi untuk doctype HTML; - ?
foreign_chars.php
berisi karakter dan simbol; - ?
hooks.php
berisi konfigurasi hooks; - ?
index.html
untuk mencegah direct access; - ?
memcached.php
untuk berisi konfigurasi untuk memcached; - ?
migration.php
konfigurasi untuk migrasi; - ?
mimes.php
berisi definisi tipe file; - ?
profiler.php
konfigurasi untuk profiler; - ?
routers.php
tempat kita menulis route aplikasi; - ?
smileys.php
berisi kode untuk emoji; - ?
user_agents.php
berisi definisi untuk user agents.
- ?
- ?
controller
berisi kode untuk controller. - ?
core
berisi kode untuk custom core. - ?
helpers
berisi fungsi-fungsi helper. - ?
hooks
berisi kode untuk script hook. - ?
language
berisi string untuk bahasa, apabila web mendukung multibahasa. - ?
libraries
berisi library. - ?
logs
berisi logs dari aplikasi. - ?
models
berisi kode untuk model. - ?
thrid_party
berisi library dari pihak ketiga. - ?
views
berisi kode untuk view. - ?
index.html
file html untuk mencegah direct access.
Selamat datang di Codeigniter
Ketika membuka http://localhost/tokobuah/, kita akan mendapatkan
tampilan Welcome to Codeigniter.
Ini adalah tampilan awal yang akan
kita lihat saat baru pertama instal CI.
Sebagai pemanasan, cobalah untuk mengubah teks Welcome to CodeIgniter!
menjadi Selamat datang di Toko Buah Petanikode
.
Caranya:
Buka file ? application/views/welcome_message.php
.
Lalu ubah teks pada baris 71
.
…dan sekarang coba reload kembali halaman http://localhost/tokobuah/.
Selamat ?
Ini adalah perubahan pertama yang kamu buat.
Penjelasan:
File ? welcome_message.php
yang berada di dalam direktori ? views
merupakan
file yang bertanggung jawab untuk menampilkan sesuatu. Di sini kita bisa menuliskan
kode untuk template dan CSS.
File ? welcome_message.php
di-load oleh sebuah controller application/controllers/welcome.php
dengan kode:
public function index()
{
$this->load->view('welcome_message');
}
Controller welcome
adalah controller default yang digunakan. Hal ini bisa kita lihat pada
konfigurasi routers di ? application/config/routers.php
.
Bingung?
Tenang…
Kita akan pelajari di tutorial berikutnya.
Apa Selanjutnya?
Cara terbaik belajar framework adalah dengan mencoba
membuat sesuatu.
Praktek langsung dengan studi kasus.
Ke depan, kita akan belajar membuat sebuah website
toko online (toko buah).
Jadi, selanjutnya silahkan pelajari:
- Tutorial Codeigniter #2: (Controller) MVC dan Routing, Konsep dasar CI yang Harus Kamu Pahami
- Tutorial Codeigniter #3: (View) Cara Menggunakan Bootstrap pada Codeiniger
- Tutorial Codeigniter #4: (View) Membuat Template Admin
- Tutorial Codeigniter #5: (Model) Membuat CRUD Produk
- Tutorial Codeigniter #6: Membuat Fitur Upload Gambar
- Tutorial Codeigniter #7: Membuat Fitur Login
- Tutorial Codeigniter #8: Membuat Fitur Pencarian (Admin)
- Tutorial Codeigntier #9: Membuat Template untuk Landing Page dan Produk
- Tutorial Codeigniter #10: Membuat Pagination
- Tutorial Codeigntier #11: Cara Menggunakan Databales dan Optimasi
- Tutorial Codeigntier #12: Cara Membuat Laporan dengan DomPDF
Bonus bacaan menarik: