Использование слишком большого количества PHP включает в себя плохую идею?

Мой вопрос заключается в том, является ли использование нескольких PHP include () плохой идеей. Единственная причина, по которой я спрашиваю, состоит в том, что я всегда слышу, что слишком большое количество таблиц стилей или сценариев на сайте создает больше HTTP-запросов и замедляет загрузку страниц. Мне было интересно то же самое с PHP.

14
задан NessDan 28 August 2010 в 01:52
поделиться

4 ответа

Подробный ответ:

Каждый файл CSS или JS, на который есть ссылка на веб-странице, на самом деле загружается браузером по сети, что часто требует задержки в сети в сотни миллисекунд и более. Запросы к одному и тому же серверу (по соглашению, хотя и не обязательно) сериализуются по одному или по два за раз, поэтому эти задержки суммируются.

С другой стороны, включаемые файлы PHP обрабатываются на самом сервере. Вместо сотен миллисекунд доступ к локальному диску будет составлять 10 миллисекунд или меньше, а при кэшировании будет прямой доступ к памяти, что еще быстрее.

Если вы используете что-то вроде http://eaccelerator.net/ или http://php.net/manual/en/book.apc.php, ваш код PHP все они будут предварительно скомпилированы на сервере один раз, и даже не имеет значения, включаете ли вы файлы или сбрасываете их все в одном месте.

Короткий ответ:

Не беспокойтесь об этом. В 99 случаях из 100 с этой проблемой преимущества лучшей организации кода перевешивают увеличение производительности.

29
ответ дан 1 December 2019 в 07:50
поделиться

PHP может обнаружить включенный файл, так как вы можете использовать функцию include_once() вместо include().

-1
ответ дан 1 December 2019 в 07:50
поделиться

Я спрашиваю только потому, что Я всегда слышу, что у меня слишком много таблицы стилей или скрипты на сайте создает больше HTTP-запросов и замедляет работу загрузка страницы. мне было интересно то же самое о PHP.

Обратите внимание, что HTTP-запрос на несколько порядков медленнее, чем PHP-запрос.

Несколько HTTP-запросов -> Клиент должен запросить и принять по сети несколько файлов
Несколько включений PHP -> Клиент должен запросить и принять только один файл

Очевидно, будет штраф сервера. Но судя по твоему вопросу... не парься. Только в действительно крупномасштабных PHP-проектах вы столкнетесь с такими проблемами.

0
ответ дан 1 December 2019 в 07:50
поделиться

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

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

1
ответ дан 1 December 2019 в 07:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: