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()

PHP – @ Symbol

Tergerak dari pertanyaan temen, “Apa gunanya symbol @ (a keong) didalam PHP ? “.

Waduh, semenjak belajar PHP sampai sekarang 😀 , blm pernah pake fungsi @ (a keong).

Mulailah ber-googling ria…

Ternyata fungsinya ada.

@ (a keong) digunakan didepan sebuah Function (contoh @mysql_query($query,$MySQL); ), nah kalo menggunakan symbol tersebut mencegah memunculkan error ketika sebuah Function dipanggil kalau error reporting di Set “Show Error” tapi jika error reporting diset tdk memunculkan error symbol tsb tdk berpengaruh.

contoh :

$r=mysql_query($query,$MySQL);

Lumayan, menambah ilmu coding sy dan mudah-mudah bermanfaat utk semuanya