Я новичок в PHP. У меня есть 8 php-файлов для функции и класса. (5 файловых функций и 3 файловых класса) теперь мне нужно, чтобы все 8 файлов были включены в мой заголовочный файл php и добавили это для всех страниц следующим образом:
require('/includes/function1.php');
require('/includes/function2.php');
require('/includes/function3.php');
require('/includes/function4.php');
require('/includes/function5.php');
require('/includes/class1.php');
require('/includes/class2.php');
require('/includes/class3.php');
теперь мой вопрос: для моих файлов require
лучший выбор? или я пытаюсь с autoload
функционировать? какой путь лучше / быстрее / повысить и увеличить мой код и сервер ?!
Вы можете определить функцию __autoload (), которая автоматически вызывается в случае, если вы пытаетесь использовать класс / интерфейс, который еще не определен. Вызывая эту функцию, скриптовый движок получает последний шанс загрузить класс, прежде чем PHP завершится с ошибкой.
Так что это лучший способ включить ваши файлы, как указано выше. Пожалуйста, посетите этот для более подробного описания.
Лучший выбор — вопрос мнения, но я бы выбрал автозагрузчик. У вас уже есть много включений, и по мере роста вашего сценария вы, вероятно, будете добавлять больше, и управление таким кодом может оказаться затруднительным.
Использование автозагрузчика будет немного медленнее, но я имею в виду незначительное количество. Это просто потому, что код в функции автозагрузки должен запускаться каждый раз, когда требуется файл. Разница во времени будет незначительной.
Автозагрузчики работают только для классов, а не для функций. Мой совет для функций заключается в том, чтобы обернуть их в классы, возможно, сделав методы статичными.
Если вы хотите включить ваши классы для всех страниц, лучше создать init.php
файл с включенными, и включить этот init.php
на всех страницах (и использовать require_once()
вместо require()
). Используйте инициализаторы, когда ваши включения фиксированы и часто используются.
Это хороший выбор, чтобы использовать spl_autoload () метод. Это __autoload()
реализация с поддержкой нескольких функций автозагрузчика. Используйте автозагрузку в каждом случае, когда вы заранее не знаете, где она понадобится.