Активный
- Тема Автор
- #1
Автозагрузка упрощает подключение классов. Разберем использование.
spl_autoload_register
PSR-4 автозагрузка
Composer autoload
Важные моменты:
- Используйте PSR-4 стандарт
- Организуйте классы по структуре
- Оптимизируйте автозагрузку
- Кешируйте при необходимости
Автозагрузка упрощает работу с классами!
spl_autoload_register
Код:
<?php
spl_autoload_register(function($className) {
$file = "classes/" . $className . ".php";
if(file_exists($file)) {
require_once $file;
}
});
// Использование
$user = new User(); // автоматически загрузится User.php
?>
PSR-4 автозагрузка
Код:
<?php
spl_autoload_register(function($className) {
$prefix = "MyProject\\";
$baseDir = __DIR__ . "/src/";
$len = strlen($prefix);
if(strncmp($prefix, $className, $len) !== 0) {
return;
}
$relativeClass = substr($className, $len);
$file = $baseDir . str_replace("\\", "/", $relativeClass) . ".php";
if(file_exists($file)) {
require $file;
}
});
?>
Composer autoload
Код:
<?php
require "vendor/autoload.php";
// Автоматическая загрузка классов
use MyProject\User;
$user = new User();
?>
Важные моменты:
- Используйте PSR-4 стандарт
- Организуйте классы по структуре
- Оптимизируйте автозагрузку
- Кешируйте при необходимости
Автозагрузка упрощает работу с классами!