JavaScript Editor Javascript debugger     Website design 

Autoloading Objects

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 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.


Exceptions thrown in __autoload function cannot be caught in the catch block and results in a fatal error.


Autoloading is not available if using PHP in CLI interactive mode.

Example 10.7. Autoload example

This example attempts to load the classes MyClass1 and MyClass2 from the files MyClass1.php and MyClass2.php respectively.

function __autoload($class_name) {
$class_name . '.php';

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