spl_autoload_register

С помощью этой функции реализуется автозагрузка классов.

В примере ниже spl_autoload_register регистрирует безымянную функцию, которая будет вызываться PHP при попытке создания экземпляра класса (new) или при попытке вызвать статический метод класса.

Класс у нас нигде не описан, но прежде вывода ошибки, PHP вызывает зарегистрированную функцию и передаёт ей имя класса. Это даёт нам возможность загрузить нужный файл и продолжить выполнение программы.

<?php
//Регистрируем безымянную функцию
spl_autoload_register(function ($class_name) {
		echo $class_name.'<br>';
		//require $class_name . '.php';
});

MissingClass::test(); //Вызов статической функции несуществующего класса
$obj = new MissingClass(); //Попытка создания экземпляра класса