Классы загрузки PHP используются для объявления своего объекта и т. д. в объектно-ориентированных приложениях. Парсер PHP загружает его автоматически, если он зарегистрирован функцией spl_autoload_register(). Парсер PHP получает наименьшую возможность загрузить класс/интерфейс, прежде чем выдать ошибку.
Синтаксис:
spl_autoload_register(function ($class_name) { include $class_name . '.php'; });
Класс будет загружен из соответствующего файла «.php», когда он будет использоваться в первый раз.
Автозагрузка
Пример:
PHP
<?php
spl_autoload_register(
function
(
$class_name
) {
include
$class_name
.
'.php'
;
});
$obj
=
new
mytest1();
$obj2
=
new
mytest2();
echo
"Objects of mytest1 and mytest2 "
+
"class created successfully"
;
?>
Выход:
Objects of test1 and test2 class created successfully.
Примечание. Если соответствующий файл «.php» с определением класса не найден, будет отображаться следующая ошибка.
Warning: include(): Failed opening 'test10.php' for inclusion (include_path='C:\xampp\php\PEAR') in line 4 PHP Fatal error: Uncaught Error: Class 'test10' not found.
Автозагрузка с обработкой исключений
Пример:
PHP
<?php
spl_autoload_register(
function
(
$className
) {
$file
=
$className
.
'.php'
;
if
(
file_exists
(
$file
)) {
echo
"$file included\n"
;
include
$file
;
}
else
{
throw
new
Exception(
"Unable to load $className."
);
}
});
try
{
$obj1
=
new
test1();
$obj2
=
new
test10();
}
catch
(Exception
$e
) {
echo
$e
->getMessage(),
"\n"
;
}
?>
Выход:
Unable to load test1.