Bagaimana CodeIgniter Bekerja?

Bagaimana sih CI sebenarnya???

Ketika sebuah page di request, maka request tersebut akan dihandle oleh file “index.php” yang berada di root folder Codeigniter. Pada file tersebut akan disetting semua config environment dari codeigniter. Setelah itu akan dipanggil file “system/codeigniter/CodeIgniter.php”. File CodeIgniter.php disini bertindak sebagai front controller dari framework ini. Pada file ini class Config, Router, Input, URL dan hook di instant. Setelah me-load semua libary tadi maka barulah fitur HOOKING (pre_system), CACHING pada codeigniter dijalankan.

Setelah itu Codeigniter.php akan memanggil file “system/codeigniter/Base4.php” atau “system/codeigniter/Base5.php”, tergantung versi PHP yang digunakan. Base4/5.php ini digunakan untuk membuat pattern singleton yang berarti hanya satu instant yang dapat dibuat. karena setiap public methodnya akan dipanggil &get_instance function. Object tersebutlah yang menjadi object induk dari framework ini.

Setelah Base4/5 dipanggil barulah router beraksi dengan memanggil default controller atau controller yang diminta. Lalu di lakukan pengecekan sekuriti, jika sukses maka HOOKING pre_controller akan dilakukan. Setelah itu barulah object $CI terbentuk.

$CI = new $class();

$class berisi nama kelas controller yang kita panggil. Setelah itu dilakukan pengecekan apakah request tersebut adalah request scaffolding atau bukan. Jika bukan maka akan di panggil HOOKING post_controller_constructor dan method yang di request. Lalu Dipanggil HOOKING post_controller. Jika kita tidak mendefinisikan hook display_override maka akan ditampilkan di browser.

Cobalah modif controller welcome.php

class Welcome extends Controller
{
function Welcome()
{
parent::Controller();
}

function index()
{
$data['kelas']= get_declared_classes();
$this->load->view('welcome_message',$data);

}
}

kita akan mendapat kan 150 class yang di load tetapi sebagian kelas yang dimiliki oleh CI adalah :

# Kelas :CI_Benchmark
# Kelas :CI_Hooks
# Kelas :CI_Config
# Kelas :CI_URI
# Kelas :CI_Router
# Kelas :CI_Output
# Kelas :CI_Input
# Kelas :CI_Language
# Kelas :CI_Base
# Kelas :Controller
# Kelas :Welcome
# Kelas :CI_Loader

then here’s a detailed “map” of the CodeIgniter system’s file structure when loading files. Its beautiful.

CI Map

One thought on “Bagaimana CodeIgniter Bekerja?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s