Что такое автозагрузка в php?

что такое автозагрузка в PHP?

Это поможет вам в использовании автозагрузки. http://ditio.net/2008/11/13/php-autoload-best-practices/

Вот официальная документация: http://php.net/autoload

Короче говоря, он просто позволяет вам определять пути поиска для классов, поэтому вам не потребуется включать файлы, содержащие их вручную.

Я предлагаю вам разработать привычку искать php.net, просто добавив имена функций или очевидные ключевые слова в адрес. Вот как я нашел php.net/autoload. Это очень удобно.

Что такое автозагрузка?

Каждый раз, когда вы хотите использовать новый класс в своем проекте PHP, сначала вам нужно включить этот класс (используя include или require language construct, это право, это не функции). Однако, если у вас определена функция __autoload, включение будет обрабатываться самостоятельно.

include "classes/class.Foo.php"; $foo = new Foo; $foo->start(); $foo->stop(); 

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

 function __autoload($class_name) { require_once $DOCUMENT_ROOT.“classes/class.”.$class_name.“.php”; } $foo = new Foo; $foo->start(); $foo->stop(); 

Официальный сайт PHP

Другие

Обновить

PHP 5 представил волшебную функцию __autoload (), которая автоматически вызывается, когда ваш код ссылается на класс или интерфейс, который еще не загружен.

Основным недостатком функции __autoload() является то, что вы можете предоставить только один автозагрузчик. В PHP 5.1.2 представлен spl_autoload() который позволяет вам регистрировать несколько функций автозагрузчика, а в будущем __autoload() будет устаревать.

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

 <?php function autoloadModel($className) { $filename = "models/" . $className . ".php"; if (is_readable($filename)) { require $filename; } } function autoloadController($className) { $filename = "controllers/" . $className . ".php"; if (is_readable($filename)) { require $filename; } } spl_autoload_register("autoloadModel"); spl_autoload_register("autoloadController"); 
 an __autoload() //function which is automatically called in case you are trying to use //a class/interface which hasn't been defined yet. function __autoload($class_name) { include $class_name . '.php'; } 

Автозагрузчик – это функция, которая загружает весь объект при запуске. и также называется названием класса.