Задать вопрос
@MusArtVlad
Новичок в программировании

Как в шаблоне tpl использовать фигурные скобки без шаблонизатора Smarty?

Не хочу использовать smarty, потому что это целая библиотека, а я использовал только 2 функции, причём одну уже заменил.

Используя шаблонизатор смарти, можно выводить информацию двумя способами:
Через <?php и через {фигурные скобки}
Вот как реализовать второй способ?

(ответ в комментариях)
  • Вопрос задан
  • 4693 просмотра
Подписаться 5 Оценить Комментировать
Решения вопроса 1
Dennion
@Dennion
Разработчик PHPShop CMS.
Взял из своего проекта:

function Parser($string) {
    global $SysValue;
    $newstring = preg_replace("/@([a-zA-Z0-9_]+)@/e", '$SysValue["other"]["\1"]', $newstring);
    return $newstring;
}


Использование:
1. В файле test.tpl вставить "Привет, @myvar@";
2. В файле test.php
// Определяем переменную шаблона
$SysValue["other"]["myvar"]="Habr";

// Читаем сожержимое файла шаблона TPL
$file = file_get_contents('test.tpl');

// Выводим результат
echo Parser($file);


@ можно заменить а { в коде. Можно подключить еще парсинг php тегов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
farrewa906
@farrewa906
как вариант
{literal} *а тут хоть можно использовать фигурные скобки спокойно* {/literal}
Ответ написан
@RJs45
Товарищи, я вот не пойму - зачем выдумывать велосипеды и писать корявый глючный код? Ну есть же smarty. Не нравится smarty - есть twig. Все уже написано, оттестировано, оптимизировано 1000 раз умными дядями. Подключайте смарти и юзайте две функции, которые Вам нужны.
Поверьте, Ваш шаблонизатор на регекспах будет работать медленнее, жрать больше памяти, да еще и зафаталит в один прекрасный момент.
ИМХО заниматься подобным извратом можно лишь в образовательных целях, а для реальных проектов не стоит пренеббрегать готовыми решениями.
Ответ написан
Ваш ответ на вопрос

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

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