Шаблонизаторы ещё актуальны?

Шаблонизаторы типа Smarty, Twig в 2017 востребованы, если с ними раньше не работал стоит ли смотреть, изучать что бы повысить ценность свою на рынке труда? Или их нативный php всё же их вытеснил, или все ушли во Фронтенд шаблонизаторы?
  • Вопрос задан
  • 2796 просмотров
Решения вопроса 9
  • Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Шаблонизаторы типа Smarty, Twig в 2017 востребованы, если с ними раньше не работал стоит ли смотреть, изучать что бы повысить ценность свою на рынке труда?

    Smarty - вряд ли.
    Twig - вполне себе актуален, я Вам даже больше скажу, он уже интегрирован "из коробки" в довольно популярную CMS по имени Drupal 8 (т.к. он сделан на базе Symfony) и собственно, в не менее популярный фреймворк под названием Symfony. И, Twig отлично встраивается в очень популярный фреймворк (я имею в виду, в ракурсе PHP-*) под названием Laravel, который в свою очередь так же имеет свой весьма неплохой шаблонизатор, под названием Blade.

    Среди прочего, вариация Twig'а есть даже для JS (Node.JS), в качестве альтернативы таким штукам как Pug/Jade например. *По информации одного из наших коллег, такие шаблоны (в JS-вариации интерпретатора) отлично переносятся потом в оригинальный Twig/PHP (имеют хорошую совместимость/переносимость).
    *Сам не проверял, но, доверяю словам автора.

    Или их нативный php всё же их вытеснил
    Из тех шаблонизаторов, что я могу вспомнить, по моему, все "компилируются" (преобразуются) в нативный для системы код (даже Smarty), т.е. если мы говорим про PHP - то соотв. в PHP-код. Парсится шаблон в код не часто и разница в производительности довольно не значительная, в 99% случаев - ей можно принебречь.

    или все ушли во Фронтенд шаблонизаторы?

    У них обычно немного разные категории задач. Если Вы говорите про шаблонизаторы аля Pug/Jade - то, что из них выходит, в конечный не-JS код, интегрируется плохо. То есть, смысл от этого шаблонизатора только для того, кто делает вёрстку, практической пользы при переносе на PHP-движок (и другие не JS-движки) от него обычно нет, либо очень мало.

    Если говорить о чисто клиентских реализациях - генерировать данные на клиенте, в таком объёме, по моему, не кошерно в подавляющем большинстве случаев, с учётом того, что сервер может кэшировать страницу целиком и выдавать сразу готовую (Varnish, например, это если говорить о необходимости высокой производительности), а какой-нибудь полу-мёртвый смартфон, бедолаги, который зайдет на подобный сайт - лопнет от чрезмерного изобилия JS-кода.
    Ответ написан
  • OnYourLips
    @OnYourLips
    Или их нативный php всё же их вытеснил
    Нативный PHP в шаблонах практически полностью пропал.
    На SPA же перешла очень незначительная часть проектов.
    Ответ написан
  • zoonman
    @zoonman
    Разработчик проекта LinuxQuestions.RU
    На текущий момент Smarty есть и остается единственным удобным шаблонизатором для PHP.
    Он прекрасно устанавливается через composer, а его синтаксис и расширяемость куда удобнее Twig.
    Twig стал популярен лишь благодаря Symfony.
    Ответ написан
  • @dmitriylanets
    перешел с нативного php шаблонизатора на twig, часть функционала связанного с наследованием twig берет на себя, удобный синтаксис, возможность хранения шаблонов в бд не меняя логики, отсутствие php кода позволяет не говнокодить в шаблонах, ну вообщем вряд ли вернусь обратно к нативному
    Ответ написан
  • compudza
    @compudza
    WebDeveloper
    Использую Smarty из-за его возможности поиска шаблонов. Что позволяет не меняя всего шаблона делать его форки через директории $templateDirFork, $templateDirMain. т.е. только не найдя шаблона в $templateDirFork, Smarty лезет в $templateDirMain.

    Сейчас нашел в описании Twig возможность:
    $loader = new Twig_Loader_Filesystem(array($templateDir1, $templateDir2));
    При такой конфигурации Twig будет сначала искать шаблоны в $templateDir1 и если они не существуют, и он будет искать их в $templateDir2.

    Нужно будет попробовать Twig =)
    Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы