Sudah lama keinginan saya di sini mengajarkan CodeIgniter 3 atau biasa di singkat CI. Seperti biasa saya di sini tidak akan menerangkan pengertian apa itu CI secara mendetail, akan tetapi CI ini adalah salah satu PHP Framework yang paling banyak digunakan di Indonesia, mengapa? Karena konsep PHP Framework di CI itu sangat mudah dipelajari bagi Anda yang sudah terbiasa dengan PHP Native atau Procedural, karena meskipun CI menggunakan konsep OOP, akan tetapi ia fleksibel, Anda masih bisa memakai kodingan _style_ Anda yakni PHP Procedural tersebut di CI. Oleh karena itu CI lebih banyak diminati bagi kalangan pemula.
Sebelumnya, jujur saja saya juga masih pemula dan bukan seorang master atau senior dipemrogaman PHP ini. Akan tetapi di sini, kita sama-sama belajar dan saya menuliskan tutorial ini juga pada dasarnya hanya mencatat apa yang telah saya pelajari, dalam hal ini CI itu sendiri.
Oke saya rasa cukup untuk pembukaanya, langsung saja kita mulai belajar :-)
Tahap Sebelum Menggunakan CI
Ada tahapan dimana sebelum menggunakan _framework, _yang paling penting adalah:
<li style="text-align: justify;">Anda harus menguasai PHP Procedural itu sendiri.
<li style="text-align: justify;">Anda harus menguasai PHP OOP silahkan baca: <a href="https://situsali.com/konsep-dasar-php-oop/" target="_blank">Konsep Dasar PHP OOP</a>.
<li style="text-align: justify;">Pemahaman tentang M-V-C (Model, View, Controller) silahkan baca: <a href="https://situsali.com/konsep-dasar-mvc-model-view-controller-dari-php/" target="_blank">Konsep Dasar MVC</a>
<li style="text-align: justify;">Minimal Anda mengerti tentang CRUD (Create, Read, Update, Delete).
Jika syarat itu sudah Anda penuhi Anda boleh mempelajari CI ini.
Sebelum menulis CI, saya juga sudah mem_posting_kan beberapa tutorial PHP Framework lainnya yakni Yii2 (https://situsali.com/cara-install-yii2/) dan Laravel 5.1 (https://situsali.com/cara-install-laravel-5-1/), saya menyarankan Anda jangan langsung lompat ke Yii2 apalagi Laravel karena itu menyulitkan, pelajari dulu CI, nanti baru Anda bisa mencoba framework yang lain.
Setelah itu, pastikan Anda sudah mengunduh CI 3 di situs resminya (https://www.codeigniter.com/download).
Pemahaman Dasar Struktur Direktori
Sebelum masuk kekodingan pahami terlebih dahulu struktur direktori CI tersebut.
Terdapat 3 direktori secara default dari CI tersebut yakni:
* **application**
Ini adalah tempat Anda menyimpan atau memulai atau membuat aplikasi Anda. Di dalam direktori inilah yang nantinya web kita ditampilkan di browser. * system Ini adalah tempat dimana core atau inti dari CI tersebut yang memuat tentang database, library, helper dan lain-lain. Yang mana di direktori ini Anda tidak disarankan merubah code yang ada di dalamnya, kecuali jika Anda sudah benar-benar paham tentang CI. Akan tetapi, jika ada beberapa fungsi core CI tersebut ada yang tidak sesuai dengan kebutuhan Anda, Anda bisa meng-extend beberapa class (nanti ini akan dibahas pada artikel selanjutnya). * user_guide Ini adalah tempat dokumentasi CI secara offline yang bisa Anda pelajari ditulis dalam bahasa Inggris.
Yang lain sisanya adalah sebuah berkas (file) semua berkas itu boleh Anda hapus terkecuali index.php
atau mungkin composer.json
bagi Anda yang sudah familiar dengan composer, jika belum bisa Anda hapus juga file tersebut.
Kemudian Anda masuk ke dalam direktori aplication di mana di sini nanti digunakan sebagai aplikasi web Anda. Berikut ini adalah susunan direktorinya:
* Cache
Adalah tempat untuk men-caching web Anda. Ini berfungsi memberikan performa web Anda, yang berefek pada kecepatan load web Anda.
* Config
Adalah tempat untuk mengaturan aplikasi Anda, dari mulai database, routing, mime, hook, config, autoload dan lain sebagainya.
* Controllers
Ini adalah direktori dimana menjadi inti dari aplikasi Anda untuk mengontrol antara model
dan views
.
* Core
Di sini tempat direktori di mana berfungsi untuk meng-extend class dari system jika dirasa core dari sistem terdapat fungsi yang kurang bagi Anda.
* Helpers
Direktori ini tempat dimana Anda bisa membuat beberapa fungsi (function) tambahan yang nantinya berguna baik untuk controller
, model
dan view
.
* Hooks
Ini adalah tempat di mana Anda bisa menyentuh lebih dalam atau memodifikasi core tanpa harus meng-hack core dari CI tersebut. Berbeda dengan core
dalam direktori application --> core
, dimana di direktori tersebut Anda hanya mengextendkan class yang sudah ada di core system.
* Language
Tempat Anda bisa membuat website Anda menjadi multibahasa.
* Libraries
Tempat di mana Anda bisa membuat sebuah library
baru, atau juga bisa membuat library yang Anda extend_kan dari system
.
* Logs
Direktori tempat pencatatan log.
* Model
Ini adalah direktori di mana untuk kode pengaturan database Anda yang nantinya akan dihubungkan dari controller
yang akan diteruskan ke view
.
* Third_party
Direktori pembuatan pihak ketiga.
* Views
Ini adalah direktori di mana tempat yang akan nantinya ditampilkan di browser Anda, di sinilah direktori dimana design front-end web_ Anda diletakan.
Pemahaman Dasar index.php
Jika struktur direktori CI sudah Anda pahami, langkah selanjutnya masuk ke persoalan dasar di mana akan saya bahas mengenai index.php
yang terdapat dalam berkas (file) di awal atau di depan direktori application
.
Pertama , Anda set environment terlebih dahulu aplikasi Anda. Yakni pada kode:
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
Anda rubah di kode $_SERVER['CI_ENV'] : 'development'
.Di CI ada 3 tahapan environment ini. Yakni:
* _Development
_Ini adalah sesi di mana di sini Anda mengaktifkan fungsi pengecekan error di apache (error_reporting
). Jadi pada tahap development inilah kodingan Anda error seperti masalah variable yang tak terdefinisi, kode yang telah depricated, syntax code yang salah semuanya akan tertampil di browser.
* _Testing
_Ini adalah disesuaikan dengan pengaturan default apache Anda. Jika pengaturan default Apache Anda error_reporting
di aktifkan maka error akan ditampilkan di browser, jika tidak, tidak pula tampil di browser.
* Production
Ini adalah sesi dimana jika kodingan Anda sudah siap diproduksi dan beberapa pengaturan yang menampilkan error dinonaktifkan. Biasanya jika ada error dalam kodingan Anda di browser hanya menampilkan gambar putih tanpa keterangan (white screen). Ini berfungsi untuk menutupi beberapa error seperti variable yang tak terdefinisi, kode yang telah depricated dan lain-lain tidak tampil di browser Anda.
Yang kedua , tentang path dari direktori application
dan system
Anda. Secara default CI memberikan nama project Anda dengan application
dan core dari CI tersebut dengan nama system
.
Jika Anda ingin merubah direktori application
menjadi nama lain, semisal dengan nama aplikasi_ci_ku
Anda dapat merubah direktori application
itu kemudian Anda rubah kode pada bagian:
$application_folder = 'application';
Begitu juga dengan direktori system
, jika Anda ingin merubahnya menjadi misalnya menjadi sistem_ci
, lakukan hal yang sema seperti Anda merubah direktori application
tersebut, Anda rubah pada bagian variable berikut:
$system_path = 'system';
Kemudian jika Anda ingin merubah direktori views
yang mana _default_nya berada pada direktori application --> views
Anda bisa mengubah variable di bawah ini sesuai dengan path direktori yang telah Anda rubah:
$view_folder = '';
Sampai di sini dulu pelajaran kita, semoga ini menjadi pembelajaran dasar dari yang paling dasar Anda mengatahui menggunakan PHP Framework, dalam hal ini framework CodeIgniter 3.
Semoga bermanfaat :-D
Komentar