PHP Fungsi Auto Load

Kadang dalam pengembangan aplikasi berbasis OOP dengan menggunakan PHP, para developer memisahkan class kedalam beberapa file berdasarkan fungsi dan tujuannya, hal ini mempunyai maksud agar supaya dalam pengembangan berikutnya, mempermudah untuk membaca source aplikasi tersebut.

Dengan demikian, jika ada 10 Class dalam 10 file php, maka developer harus meng-include-kan file-file tersebut kedalam file yang memanggilnya.

Untungnya, pada PHP versi 5, telah disediakan fungsi untuk mengikut sertakan class yang ingin digunakan, yaitu fungsi __autoload() dan spl_autoload_register.

Dari PHP sendiri lebih menganjurkan untuk menggunakan fungsi spl_autoload_register() ketimbang __autoload(). dikarenakan spl_autoload_register() lebih fleksibel untuk kasus autoloading class.

berikut dokumentasi fungsi  __autoload dan juga spl_autoload_register() yang lengkap.

Contoh implementasi fungsi __autoload :

file index.php berisi

<?php

function __autoload($class_name)
{
// Start from the base path and determine the location from the class name,
$base_path = ”;
//$include_file = $base_path . ‘/’ . str_replace(‘_’, ‘/’, $class_name) . ‘.php’;
$include_file = $base_path . str_replace(‘_’, ‘/’, $class_name) . ‘.php’;
echo $include_file.”<br/>”;
//return (file_exists($include_file) ? require_once $include_file : false);
return (file_exists($include_file) ? require_once $include_file : false);
}

?>

begitu file index.php ini dipanggil maka akan menjalankan otomatis akan menjalankan fungsi __autoload()

Advertisements