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

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

Ответы

Ответ 1

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

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

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

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

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

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

Ответ 2

Использование include помогает с организацией кода и не является помехой само по себе. Если вы загружаете кучу вещей, которые вам не нужны, это замедлит работу, но это еще одна проблема. Уточнение. Когда вы включаете страницы, имейте в виду, что вы добавляете к загрузке; не беспечно включайте ненужные ресурсы.

Ответ 3

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

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

Ответ 4

Это действительно зависит от того, что вы хотите сделать, я имею в виду, что если у вас есть кусок кода, который используется все время, это действительно удобно включать его, а не копировать и вставлять все время, и это сделает ваш код более ясно и не медленнее, но если вы включите все функции или классы, которые вы написали в своих файлах, не используя их, конечно, это не хорошая практика... Я бы предложил использовать фреймворк (например, codeigniter или что-то еще, что вам удобно), потому что это действительно помогает очистить это... удачи!

Ответ 5

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

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

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

Включение, очевидно, будет зависеть от сервера. Но по вашему вопросу... не потейте. Лишь на действительно масштабных проектах PHP вы столкнетесь с такими проблемами.

Ответ 6

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