Automatikusan betöltődő objektumok
Több objektum-orientált programot készÃtÅ‘ fejlesztÅ‘ létrehoz egy külön PHP forrásfájlt osztálydefinÃciónként. Egy a legnagyobb bosszankodások közül az, hogy hosszú listát kell Ãrni a fájlok beágyazása miatt minden program elején (egy beágyazás minden egyes osztályra).
A PHP 5-ben, ez többé nem szükséges. Te definiálhatsz egy __autoload nevű függvényt ami automatikusan meghÃvódik minden esetben, amikor egy olyan próbálsz meg osztályt használni, ami még nincs definiálva. Ezt a függvényt meghÃvva a programmotor egy utolsó esélyt ad az osztály betöltésére, mielÅ‘tt a PHP hibát eredményez.
Note: Az __autoload függvényben dobott kivételeket nem lehet catch blokkal elkapni, és mert fatális hibát eredményez.
Example#1 Autoload példa
Ez a példa megpróbálja betölteni a MyClass1 és a MyClass2 osztályokat a MyClass1.php, illetve a MyClass2.php fájlokból.
<?php
function __autoload($class_name) {
require_once $class_name . '.php';
}
$obj = new MyClass1();
$obj2 = new MyClass2();
?>