Автоматически загружающиеся объекты

Многие разработчики объектно-ориентированных приложений создают каждое исходное определение класса в отдельном файле. Наибольшую досаду вызывает то, что приходится писать длинный список необходимых включений в начале каждого скрипта (по одному на каждый класс).

В PHP5 это больше не является необходимостью. Можно определить функцию __autoload, которая автоматически вызывается при попытке использования класса, который еще не определен. При вызове такой функции движку скрипта дается последний шанс загрузить класс перед тем, как скрипт должен будет аварийно завершиться с генерацией ошибки.

Замечание: исключения, генерируемые в функции __autoload, не могут быть перехвачены в блоке перехвата, и генерируют фатальную ошибку.

Пример автозагрузки.

Этот пример пытается загрузить классы MyClass1 и MyClass2 из файлов MyClass1.php и MyClass2.php соответственно

<?php
function __autoload($class_name) {
require_once $class_name . '.php';
}

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