Мой вопрос заключается в том, является ли использование нескольких PHP include () неправильной идеей. Единственная причина, по которой я спрашиваю, это то, что я всегда слышу, что слишком много таблиц стилей или скриптов на сайте создает больше HTTP-запросов и замедляет загрузку страницы. Мне тоже было интересно о PHP.
Подробный ответ:
Каждый файл CSS или JS, на который ссылается веб-страница, фактически выбирается браузером по сети, что часто связано с 100 секундами или более задержка в сети. Запросы на один и тот же сервер (по соглашению, хотя и не обязательны), сериализованы один или два за раз, поэтому эти задержки складываются.
С PHP-файлы, с другой стороны, все обрабатываются на самом сервере. Вместо 100 миллисекунд локальный доступ к диску будет составлять 10 с миллисекунды или менее, а в случае кэширования – прямой доступ к памяти, который еще быстрее.
Если вы используете что-то вроде http://eaccelerator.net/ или http://php.net/manual/en/book.apc.php, тогда ваш PHP-код будет предварительно скомпилирован на сервере один раз, и он даже не если вы включаете файлы или сбрасываете их все в одном месте.
Короткий ответ:
Не беспокойтесь об этом. 99 раз из 100 с этой проблемой, преимущества лучшей организации кода перевешивают производительность.
Использование include помогает в организации кода и не является помехой само по себе. Если вы загружаете кучу вещей, которые вам не нужны, это замедлит работу, но это еще одна проблема. Уточнение. Когда вы включаете страницы, имейте в виду, что вы добавляете к загрузке; не беспечно включайте ненужные ресурсы.
Как уже говорилось, использование нескольких PHP включает в себя обеспечение организации вашего кода, поэтому это неплохая идея. Это станет проблемой, когда используется слишком много включений, поскольку веб-серверу необходимо будет выполнить операцию ввода-вывода для каждого из них.
Если у вас есть большое веб-приложение, вы можете увеличить его с помощью ускорителя PHP , который кэширует данные и скомпилированный код из компилятора байт-кода PHP в общей памяти. Если у вас есть много PHP, включенных в определенный файл, они будут выполняться только один раз. Дальнейшие вызовы этого файла попадут в кеш, поэтому PHP не потребуется.
Это действительно зависит от того, что вы хотите сделать, я имею в виду, если у вас есть кусок кода, который используется все время, это действительно удобно включать его, а не копировать и вставлять все время, и это сделает ваш код более понятным, а не медленнее, но если вы включите все функции или классы, которые вы написали в своих файлах, не используя их, конечно, это не хорошая практика … Я бы предложил использовать фреймворк (например, codeigniter или что-то еще, что вам удобно), потому что это действительно помогает освобождение этого … удачи!
Единственная причина, по которой я спрашиваю, это то, что я всегда слышу, что слишком много таблиц стилей или скриптов на сайте создает больше HTTP-запросов и замедляет загрузку страницы. Мне тоже было интересно о PHP.
Обратите внимание, что HTTP-запрос на несколько порядков медленнее, чем PHP.
Несколько HTTP-запросов -> Клиент должен запросить и принять по сети несколько файлов
Несколько PHP включают в себя -> Клиент должен запросить и принять только один файл
Очевидно, что включает в себя серверный штраф. Но по вашему вопросу … не потейте. Вы можете столкнуться с такими проблемами только на действительно крупных проектах PHP.
PHP может обнаружить включенный файл, поскольку вы можете использовать функцию include_once () вместо include ().