Intereting Posts
Как я могу определить, была ли строка вставлена ​​в базу данных за несколько секунд назад Получить $ _POST от PHP до Javascript и передать его другому php Символы UTF-8 в выгруженном имени файла смешаны с загрузкой файла PHP pthreads: Неустранимая ошибка: Class 'Thread' не найден Angularjs $ http метод get для данных JSONP без параметра CALLBACK Как исправить ошибку синтаксиса, неожиданную ошибку T_IF в php? Использование инъекции зависимостей над ларавельными фасадами Запуск действия Zend Framework из командной строки безопасность php для ввода заголовка местоположения через $ _GET Как определить угол съемки фотографии и автоматический поворот для отображения веб-сайта, например, на настольных приложениях? Почему мой php substr () показывает неясные символы при разрезании текста? Чтобы перенаправить пользователя обратно в index.php после обработчика Получение необработанной строки запроса SQL из подготовленных операторов PDO Как отправить запрос GEt на PHP в iOS Ajax для PHP на одной странице

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

Мой вопрос заключается в том, является ли использование нескольких 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 ().