2016-09-19 2 views
0

В настоящее время я просматриваю автозагрузку и понимаю, что автозагрузка может быть одинаковой с требованием или включать, и я пришел к выводу, что, возможно, может быть преимущество при использовании автозагрузки вместо требования или включать. В чем преимущество использования автозагрузки вместо требования или включения для использования класса в php-файле?autoload vs include or require in php

+3

Разве это не очевидно? Не нужно писать строки require/include? – SOFe

ответ

1

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

В зависимости от требований этот список может занять очень много времени. И делать это в каждом файле утомительно, нечисто, и его можно избежать.

Следовательно, автозагрузка файлов.

Например, вы можете хранить все свои классы в одной папке с именами классов. Затем сделайте загрузочный файл, в котором вы можете написать автозагрузчик:

spl_autoload_register(function ($class) { 
    require_once 'classes/' . $class . '.php'; 
}); 

Чтобы сделать эту работу, все, что вам нужно сделать, это сохранить имя файла и имя класса то же самое.

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

+0

Я также могу добавить все классы в массив autoload всех классов, не включая много файлов, am l right? – athene

+0

Как вы можете это сделать? Вы можете потребовать/включить файлы, а не массивы. У вас могут быть другие папки, такие как контроллеры, система, где есть классы. В этом случае вы можете создать массив имен папок и, перейдя через них, требуется в классе. И вы делаете это внутри функции spl_autoload_register. – Bonzo

+0

Его то, что я имел в виду, я обычно использую контроллеры с фреймворками, однако, говорю, что вы не используете фреймворк, действительно ли нужен контроллер? – athene

Смежные вопросы