Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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();

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

Другое

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

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