Belajar CodeIgniter 3 - Pemula
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. <p style="text-align: justify;"> <p style="text-align: justify;">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. <p style="text-align: justify;">Oke saya rasa cukup untuk pembukaanya, langsung saja kita mulai belajar :-) <h3 style="text-align: justify;">Tahap Sebelum Menggunakan CI</h3> <p style="text-align: justify;">Ada tahapan dimana sebelum menggunakan framework, yang paling penting adalah: <ol> <li style="text-align: justify;">Anda harus menguasai PHP Procedural itu sendiri.</li> <li style="text-align: justify;">Anda harus menguasai PHP OOP silahkan baca: Konsep Dasar PHP OOP.</li> <li style="text-align: justify;">Pemahaman tentang M-V-C (Model, View, Controller) silahkan baca: Konsep Dasar MVC</li> <li style="text-align: justify;">Minimal Anda mengerti tentang CRUD (Create, Read, Update, Delete).</li> </ol> Jika syarat itu sudah Anda penuhi Anda boleh mempelajari CI ini. Sebelum menulis CI, saya juga sudah mempostingkan 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). <h3>Pemahaman Dasar Struktur Direktori</h3> Sebelum masuk kekodingan pahami terlebih dahulu struktur direktori CI tersebut. Terdapat 3 direktori secara default dari CI tersebut yakni: <ol> <li>application Ini adalah tempat Anda menyimpan atau memulai atau membuat aplikasi Anda. Di dalam direktori inilah yang nantinya web kita ditampilkan di browser.</li> <li>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).</li> <li>user_guide Ini adalah tempat dokumentasi CI secara offline yang bisa Anda pelajari ditulis dalam bahasa Inggris.</li> </ol> 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: <ol> <li>Cache Adalah tempat untuk men-caching web Anda. Ini berfungsi memberikan performa web Anda, yang berefek pada kecepatan load web Anda.</li> <li>Config Adalah tempat untuk mengaturan aplikasi Anda, dari mulai database, routing, mime, hook, config, autoload dan lain sebagainya.</li> <li>Controllers Ini adalah direktori dimana menjadi inti dari aplikasi Anda untuk mengontrol antara model
dan views
.</li> <li>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.</li> <li>Helpers Direktori ini tempat dimana Anda bisa membuat beberapa fungsi (function) tambahan yang nantinya berguna baik untuk controller
, model
dan view
.</li> <li>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.</li> <li>Language Tempat Anda bisa membuat website Anda menjadi multibahasa.</li> <li>Libraries Tempat di mana Anda bisa membuat sebuah library
baru, atau juga bisa membuat library yang Anda extendkan dari system
.</li> <li>Logs Direktori tempat pencatatan log.</li> <li>Model Ini adalah direktori di mana untuk kode pengaturan database Anda yang nantinya akan dihubungkan dari controller
yang akan diteruskan ke view
.</li> <li>Third_party Direktori pembuatan pihak ketiga.</li> <li>Views Ini adalah direktori di mana tempat yang akan nantinya ditampilkan di browser Anda, di sinilah direktori dimana design front-end web Anda diletakan.</li> </ol> <h3>Pemahaman Dasar index.php</h3> 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: <pre class="toolbar:2 lang:php decode:true" title="Environment">define(‘ENVIRONMENT’, isset($_SERVER[‘CI_ENV’]) ? $_SERVER[‘CI_ENV’] : ‘development’);</pre> Anda rubah di kode $_SERVER['CI_ENV'] : 'development'
.Di CI ada 3 tahapan environment ini. Yakni: <ol> <li>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.</li> <li>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.</li> <li>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.</li> </ol> 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: <pre class="toolbar:2 lang:php decode:true" title="Merubah Direktori Application">$application_folder = ‘application’;</pre> 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: <pre class="toolbar:2 lang:php decode:true " title="Merubah Direktori System">$system_path = ‘system’;</pre> Kemudian jika Anda ingin merubah direktori views
yang mana defaultnya berada pada direktori application --> views
Anda bisa mengubah variable di bawah ini sesuai dengan path direktori yang telah Anda rubah: <pre class="toolbar:2 lang:php decode:true " title="Merubah Path Default dari Views">$view_folder = ‘’;</pre> 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