Autoload dalam codeigniter adalah konfirugasi untuk mengatur pemanggilan class apa saja yang akan di load secara otomatis. Artinya dengan memasukan nama class yang akan di autoload, kita tidak perlu lagi memanggil (load) class tersebut jika ingin di gunakan dalam controller.
Autoload di lakukan pada saat pertama kali aplikasi di jalankan, jadi secara tidak langsung ketika aplikasi anda di akses, codeigniter terlebih dahulu meload seluruh class yang ada di autoload, dan selanjutnya baru menjalankan perintah-perintah yang ada di controller.
Untuk mengetahui apa-apa saja yang dapat di konfigurasi dalam autoload, silahkan anda buka file application/config/autoload.php
Codeigniter adalah salah satu framework yang memiliki dokumentasi yang baik, setiap coding di sertakan komentar yang jelas tentang bagaimana menggunakan coding tersebut. Dijelaskan dalam file autoload.php, bahwa hal-hal yang bisa di konfigurasi adalah sebagai berikut:
Adapun coding dari file autoload.php sebenarnya hanya beberapa baris, yang membuat sampai ratusan baris hanya komentar dari coding tersebut saja.
$autoload['libraries'] = array(); $autoload['helper'] = array(); $autoload['config'] = array(); $autoload['language'] = array(); $autoload['model'] = array();
Memanggil Library, helper, config, language dan model adalah menggunakan array, jadi jika anda ingin menggunkan konfigurasi seperti berikut:
- Libraries : database dan session
- Helper : url dan form
- Custom : tidak ada
- Language : tidak ada pengaturan
- Model : ModelPages dan ModelNews
Penulisan codenya adalah seperti berikut:
$autoload['libraries'] = array('database', 'session');
$autoload['helper'] = array('url', 'form');
$autoload['config'] = array();
$autoload['language'] = array();
$autoload['model'] = array('ModelPages', 'ModelNews');
Jadi ketika kita sudah melakukan konfigurasi autoload seperti diatas, maka library, helper, config, language dan model yang sudah di load tidak perlu di load kembali dalam controller.
class News extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$data['title'] = 'Title Situs';
$data['news'] = $this->ModelNews->getNews();
$this->load->view('news', $data);
}
}
dan berikut adalah contoh controller yang tidak melakukan konfigurasi autoload.php
<pre>class News extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$data['title'] = 'Title Situs';
$this->load->database();
$this->load->model('ModelNews');
$data['news'] = $this->ModelNews->getNews();
$this->load->view('news', $data);
}
}
Semoga bermanfaat
Pingback: Model View Controller Codeigniter ‹ kakaeriel notes