Можно ли разместить много PHP на сайте?

116
18

До сих пор у меня около 3 PHP включено на моем сайте.


<?php include("includes/header.html"); ?>

Есть ли какая-то причина, почему я не должен добавлять тонну?

спросил(а) 2021-01-28T00:11:39+03:00 3 месяца, 1 неделя назад
1
Решение
130

Не совсем. Они используются довольно часто и либерально, хотя чаще всего включают другие файлы PHP. Эти PHP файлы часто включают в себя другие, поэтому нет никакой проблемы.

Кстати, если вы используете этот метод для включения других файлов PHP (например, файлы библиотек с функциями, которые вы используете), рекомендуется использовать require_once (там также include_once, а также простой require); require приведет к ошибке, если его аргумент не найден, и не будет продолжать пытаться отобразить страницу. require_onceinclude_once) не будет включать один и тот же файл более одного раза, даже если вы вызываете require_once (или include_once) из разных мест.

ответил(а) 2021-01-28T00:11:39+03:00 3 месяца, 1 неделя назад
115

Я подозреваю, что вы делаете что-то вроде этого:


<?php
include("session_and_headers.php");
include("top_nav.html")
include("right_sidebar.html");
?>

... actual content generation code ...

<?php
include("footer.html");
include("js_loader.php");
?>


По сути, нет ничего неправильного в том, что для простых статических сайтов или ситуаций, когда пользователи будут иметь только несколько разных представлений.


Но что произойдет, если вы хотите использовать немного другую боковую панель только для определенных типов страниц? Где вы поместите логику, чтобы определить, что это очевидно для следующего человека, который наследует ваш код?

Если вы сталкиваетесь с такими сложностями, я рекомендую перейти к подходу MVC (даже если вы в основном используете его аспекты просмотра/контроллера).


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


Не смотрите на это так сильно, как плохо для PHP, посмотрите на него больше, так как его трудно поддерживать?

ответил(а) 2021-01-28T00:11:39+03:00 3 месяца, 1 неделя назад
63

Есть одно преимущество для написания объектно-ориентированного кода и обновления до PHP 5: вы можете избежать "тонны включений", используя класс автозагрузки.

ответил(а) 2021-01-28T00:11:39+03:00 3 месяца, 1 неделя назад
45

Единственный недостаток - это производительность - каждый из них включает в себя расходы, которые вы вызывают системные вызовы. С 3 или 10 это все небольшое изменение, если ваш трафик огромен, но около 100 может быть проблемой. Решение состоит в использовании кеша байт-кода (например, apc) и установки переменной realpath_cache_size в более высокое значение (по умолчанию для файлов около 100-200, в зависимости от длины пути).
Кроме этого - не большая проблема.

ответил(а) 2021-01-28T00:11:39+03:00 3 месяца, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема