Использование слишком большого количества 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().