Как организовать шаблонизацию?

414
06 февраля 2017, 18:44

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

Вопрос вот в чем, допустим есть файл шаблона новостей "news.tmp", на стороне сервера он обрабатывается как-то так

function GetTemp($tempPath, $tempVars = []) {
    extract($tempVars, EXTR_SKIP);
    ob_start();
    include $tempPath;
    return ob_get_clean();
}

Т.к. в самом шаблоне дальше циклов, условий и выводов переменных дело не заходит, считаю, что это идеальный вариант который не вносит кашу типа {{name}} и быстрее (быстрее же?) работает, не требует установки на сервер php расширений, что не позволяют использовать дохлые хостинги

После того как на странице вывелись первые 10 новостей шаблонизированых сервером и юзер прокручивает ниже запускается автозагрузка, и тут вопрос, как получить новые новости?

  1. Шаблонизировать опять же на сервере и отдать html. Но мне кажется это затратным как юзеру так и серверу

  2. Отдать юзеру переменные в JSON и пусть он сам шаблонизирует на JS. И тут возникает главный вопрос, где юзер будет хранить шаблон? Подгружать "news.tmp"? Но там все намешано с php, делать на JS шаблонизатор который кушает в таком виде? Или делать 2 шаблона и поддерживать их (дикость)? Или все же сделать нормальный шаблонизатор, но будет ли он быстрее GetTemp()? А может сделать шаблонизатор который компилирует шаблон в PHP+HTML код, а после отдавать его GetTemp()?

READ ALSO
Установка зависимостей через composer в Yii2-проекте

Установка зависимостей через composer в Yii2-проекте

Получил в наследство проект, но там нет папки vendor, я так понимаю нужно обновить через composer, чтобы установились все зависимости?

347
Обновление wordpress сломало главное меню

Обновление wordpress сломало главное меню

После обновления wordpress до последней версии сломалось верхнее меню - пункты меню не отображаются

379
На запрос к vk api приходит пустой ответ

На запрос к vk api приходит пустой ответ

До падения сервера хостинга было все нормальноПосле починки стали приходить пустые ответы

512
Умножение на число

Умножение на число

Подскажите, как получить 5% от числа 223,66 на php Пишу

378