Halo, selamat pagi. Kali ini kita akan membahas sedikit tentang arsitektur aplikasi CodeIgniter, seperti flow chart dan hirarki foldernya. Sebenarnya, nanti kamu juga akan paham sendiri jika sudah mulai membuat sesuatu dengan CodeIgniter, namun tidak ada salahnya jika kita coba berkenalan diawal.
Daftar Isi
Flow Chart
Seperti terlihat pada gambar, jika ada request data, maka akan diarahkan ke file index.php
index.php kemudian meneruskan request ke tahap Routing. Disini Routing akan menentukan request dilakukan Chacing dulu kemudian diteruskan ke Security atau langsung ke Security.
Sebelum diteruskan ke tahap Application Controller, Security melakukan pengecekan keamanan terlebih dahulu.
Jika aman, Controller akan memuat library, model, helper atau script-script lain yang akan ditampilkan ke user.
View akan menampilkan data yang diberikan controller dan meneruskannya ke proses caching sebelum ditampilkan kepada user.
Struktur Hirarki
Root:
Root atau akar memiliki 3 folder, yaitu application, system dan user_guide, serta sebuah file index.php
- application
Folder ini terbagi lagi menjadi beberapa folder dimana kita nanti akan membuat aplikasi kita. Mulai dari controller, model, views, library, helper, dan lain-lain. - system
Folder ini berisi file-file sistem, library dan helper bawaan. Jangan mengubah apapun disini. - user_guide
Adalah dokumentasi offline. Disini kita dapat mempelajari semua tentang CodeIgniter, mulai dari library, helper, controller, model, dan lain-lain. - index.php
Ini adalah file paling penting. Disini kita bisa mengatur enviroment aplikasi dan level error.
Folder application
Di folder inilah kita akan bekerja dengan aplikasi kita. Disini kita bisa membuat controller, model, view, library, helper dan sebagainya.
- cache, folder ini berisi file cache semua halaman aplikasi kita (yang di-cache-kan). Cache hanya disimpan pada request pertama, dan akan ditampilkan lagi pada request berikutnya, tujuannya supaya request-request berikutnya lebih cepat lagi.
- config, di folder inilah kita menyimpan konfigurasi aplikasi kita. Mulai dari konfigurasi bawaan seperti config.php, database.php, routing.php dan sebagainya. Kita juga bisa membuat file konfigurasi kita sendiri.
- controllers, disinilah kita menyimpan controller aplikasi kita. Bisa dibilang, ini adalah jantung untuk aplikasi kita.
- core, disini kita bisa membuat base class atau class inti. Jika kita ingin menambah class inti, maka disini tempatnya.
- helpers, berisi file file helper yang kita buat. Jika dirasa helper bawaan CodeIgniter masih kurang atau membutuhkan helper custom, kita bisa membuatnya disini.
- hooks, disini kita bisa memasukan fitur baru atau mengubah yang sudah ada dari sistem CodeIgniter tanpa perlu menyentuh file sistem CodeIgniter. Keren kan?
- languages, berisi file kustom bahasa.
- libraries, disini kita bisa menyimpan library dari pihak ketiga ataupun library buatan kita sendiri.
- logs, berisi log sistem, misalnya log error atau log buatan kita.
- models, berisi file-file yang berhubungan dengan database (Models).
- third_party, berisi plugin dari pihak ketiga yang bisa kita gunakan di aplikasi kita nantinya.
- views, berisi file-file html (Views)
Selain itu, masih ada folder system, namun saya rasa tidak perlu dijelaskan. Karena kita juga tidak akan menyentuh folder tersebut.