Friday, 1 August 2014

Autoloading Classes

Many developers writing object-oriented applications create one PHP source file per class definition. One of the biggest annoyances is having to write a long list of needed includes at the beginning of each script (one for each class).
In PHP 5, this is no longer necessary. You may define an __autoload()  function which is automatically called in case you are trying to use a class/interface which hasn't been defined yet. By calling this function the scripting engine is given a last chance to load the class before PHP fails with an error.

Example #1 Autoload example
This example attempts to load the classes MyClass1 and MyClass2 from the files MyClass1.php and MyClass2.php respectively.
<?phpfunction __autoload($class_name) {
    include 
$class_name '.php';
}

$obj  = new MyClass1();$obj2 = new MyClass2(); 
?>



Cf. http://php.net/manual/en/language.oop5.autoload.php#language.oop5.autoload