что такое автозагрузка в PHP?
Что такое автозагрузка в php?
Ответ 1
Это поможет вам в использовании автозагрузки. http://ditio.net/2008/11/13/php-autoload-best-practices/
Ответ 2
Вот официальная документация: http://php.net/autoload
Вкратце, он просто позволяет вам определять пути поиска для классов, поэтому вам не потребуется включать файлы, содержащие их вручную.
Я предлагаю вам разработать привычку искать php.net, просто добавив имена функций или очевидные ключевые слова в адрес. Вот как я нашел php.net/autoload. Это довольно удобно.
Ответ 3
Что такое автозагрузка?
Каждый раз, когда вы хотите использовать новый класс в своем проекте PHP, сначала вам нужно включить этот класс (используя include или require language construct, that right, это не функции). Однако, если у вас определена функция __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();
Update
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");
Ответ 4
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';
}
Ответ 5
Автозагрузчик - это функция, которая загружает весь объект при запуске. а также называется именем класса.