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.

ci3-ss1 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:

ci3-ss2

* 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 --&gt; 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 --&gt; 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