Как хранить HTML и CSS на сервере?

292
29 июня 2018, 12:30

Я хочу создавать сайты на php, в которых страницы были бы разделены на небольшие части, каждая из которых хранилась бы отдельно, чтобы её можно было легко изменить. Некоторые страницы на сайте состоят из одного шаблона, то есть, повторяют некоторые части друг друга. Пусть у нас будет три части страницы - хэдер, контент и футер, при этом страницы отличаются друг от друга только контентом. Как правильно их добавлять? Стоит отметить, что эти 3 части могут делиться на ещё более мелкие части, но это не меняет сути.

Далее будут мои мысли о том, как это реализовать. Скорее всего, в файле со страницей нам понадобиться использовать конструкцию вида

<code>
add_page_part('template_1','header');
add_page_part('template_1','content',$current_page_name);
add_page_part('template_1','footer');
</code>

Примерно понятно, как будет выглядеть начало функции add_page_part -

<code>
function add_page_part($template_name, $page_part, $page_name="not_changing_part"){
</code>

Дальнейшее содержание функции может быть разным. Например, можно использовать

1) include

А точнее, что-то вроде

<code>
if ($page_name=="not_changing_part")
include('pages/$templage_name/$page_part.php');
else
include('pages/$templage_name/$page_part/$page_name.php');
</code>

этот способ кажется самым простым, но я не знаю, правильно ли создавать большое множество файлов

2) SQL

В этом случае, можно хранить структуру шаблона в таблице, состоящей из следующих столбцов

  1. Название шаблона
  2. Название большой части страницы
  3. id малых частей, из которых она состоит

Малую часть можно хранить в отдельной таблице со столбцами 1. id малой части 2. страница, к которой относится эта малая часть 3. содержимое части

Такая структура сделает необходимым делать несколько SQL запросов для загрузки каждой части - сначала SELECT из первой, чтобы получить id малых частей, затем, из полученного массива делать SELECT с условием WhERE page=$current_page

такая структура кажется в некотором смысле более правильной, но она гораздо сложнее

3) Нереляционные базы данных

Древовидная структура моих шаблонов могла бы хорошо быть реализована через mongodb, но оправдано ли их использование для загрузки страниц, тем более, на php-сервере?

READ ALSO
PHP как получить файл без изменения

PHP как получить файл без изменения

Суть в том что я делаю свою игру на Java и решил сделать тестовый мультиплеер

261
Таймер на php + MySql

Таймер на php + MySql

подскажите как сделать таймер на PHP c использованием БД?

274
Как получить данные JSON с сервера?

Как получить данные JSON с сервера?

У меня есть файл datajson с данными

250