@ZerZru

Как делается обновление кода всех страниц пользователей?

Здравствуйте. Раньше в моём проекте была такая структура страниц пользователей:
  1. website.com/profile?user=qwert

Но я решил сделать возможность ограничивать каждого конкретного пользователя вместо того, чтобы вводить всё больше и больше кода на profile.php, подобного
if ($profileOwner == 'qwert1' || $profileOwner == 'qwert2' || $profileOwner == 'qwert3') 
    echo 'Вам заблокирована возможность изменять аватар';

И поменял структуру на следующую:
  1. website.com/profiles/qwert/

Но возникла такая проблема: что, если мне нужно будет добавить что-то новое в профиль? Например, возможность добавлять статус. Для этого мне нужно будет добавить условный <div> в каждую страницу профиля. Вручную - долго, если пользователей много, и неудобно. Нужна автоматизация. Перед тем, как задать вопрос, я почитал про шаблонизацию в PHP, и пришёл к выводу, что можно сделать что-то подобное:
<body>
     <?php loadProfile($profileOwner) ?>
</body>

Однако проблема может быть в том, что мне, например, нужно перед <head> добавить новые $_GET: допустим, вид на профиль от лица посетителя без сессии или что-то иное, ведь учесть все фичи, которые я добавлю, наперёд - вряд ли возможно. Хотел бы узнать, какие существуют способы для реализации подобного обновления кода и какой из них наиболее эффективный. Спасибо
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
@ZerZru Автор вопроса
Оказывается, достаточно написать:
include '../../pages/profile.php';
во всех файлах пользователей. Таким образом, меняя что-либо в файле profile.php, все ссылаемые на него файлы одновременно изменятся. Либо подключать не полностью готовый шаблон, а его составные части с конкретными значениями, для гибкости
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@russeljo
Используйте БД для хранения настроек профилей.
Или хотя бы заведите конфигурационный файл.
Почитайте про MVC.
Вы сейчас пытаетесь делать так, как делали более 10 лет назад.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы