Forum und email

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