Автозагрузка
Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Октябрь 2023 г. ) |
В компьютерном программировании автозагрузка — это возможность автоматически загружать и связывать части программы из запоминающего устройства , когда это необходимо, так что программисту не требуется явно определять или включать эти части программы. Многие языки программирования высокого уровня включают возможности автозагрузки, которые жертвуют некоторой скоростью выполнения ради простоты кодирования и скорости первоначальной компиляции/связывания.
Типичные системы автозагрузки перехватывают вызовы процедур неопределенных подпрограмм . Автозагрузчик просматривает путь к компьютера каталогам в файловой системе , чтобы найти файл, содержащий исходный или объектный код, определяющий подпрограмму. Затем автозагрузчик загружает и связывает файл, а затем передает управление основной программе, так что подпрограмма выполняется так, как если бы она уже была определена и связана до вызова.
Многие интерактивные языки и языки высокого уровня работают таким образом. Например, IDL включает в себя примитивный поисковик пути, а Perl позволяет отдельным модулям определять, как и должна ли происходить автозагрузка. Можно сказать, что оболочка Unix почти полностью состоит из автозагрузчика, поскольку его основная задача — поиск пути в каталогах для загрузки и выполнения командных файлов. В PHP 5 функция автозагрузки срабатывает при ссылке на неопределенный класс . Одна или несколько функций автозагрузки, реализованных как __autoload
магическая функция или любая функция, зарегистрированная в стеке автозагрузки SPL , вызывается и получает возможность определить класс, обычно путем загрузки файла, в котором он определен.
PHP
[ редактировать ]spl_autoload_register(function ($class) {
$file = 'src/' . str_replace('\\', '/', $relative_class) . '.php';
if (file_exists($file)) {
require $file;
}
});
Внешние ссылки
[ редактировать ]- PSR-4 Улучшенный стандарт автозагрузки
- Автозагрузка классов в PHP
- spl_autoload_register в PHP