Pull to refresh

Comments 15

Я могу спросить, почему очередной шаблонизатор назван «вкусняшкой»?
Ну во-первых он не «очередной», он уже был, это просто новая версия.

Во-вторых я не знаю других шаблонизаторов куда можно подключить и свой формат и так индивидуально настроить поиск шаблонов, да еще при этом использующим простой PHP по дефолту. В тех что я видел всегда недостает хотя бы одной из этих фич.

Сфера применения гораздо больше чем других: добавив минимальный роутинг можно получить движок для сайтов на маркдаун ( каких теперь и так много), можно научить парсить Handlebars и тогда можно будет и на бэкенде и на фронтенде использовать те же шаблоны.

Вся идея PHPixie 3 в том чтобы дать возможность делать по-разному и настраивать под себя
Смотрю на эту конструкцию
//файл fairy.php
<?php $this->layout('layout'); ?>
<?php $this->startBlock('title'); ?>
Fairy page
<?php $this->endBlock(); ?>

Hello <?php $_($name); ?>

и грусть берет. Ну есть же доступный и быстрый смарти, зачем эти велосипеды?
Ну ведь он не на чистом PHP. Так как я не даю пользователям редактировать шаблоны, мне совсем не нужен какой-то особенный язык в шаблонизаторе. Напротив с PHP гораздо удобней, как минимум через доступ к банальным функциям аля trim(). Да, многие из них есть и в Смарти, но зачем мне учить их там, если я их могу сразу вызвать?
В Smarty довольно давно (при соответствующем разрешении) можно в лоб вызывать функции. И в присваиваниях, и как фильтры.

Но, вообще, в своих проектах я сейчас стараюсь отвязываться от конкретных шаблонизаторов. Хотя сам я давний сторонник Smarty, но не хочется тащить лишнюю composer-зависимость там, где теоретически без неё можно обойтись.
Так кстати Template намного меньше Смарти, можно не бояться его тащить =)
зачем мне учить их там, если я их могу сразу вызвать?

А зачем фронтэндеру учить пых что бы верстку делать? Есть ли у вас автоэкранирование? Что сделано для удобства изменения шаблонов?
Ну лучше уж фронтендера научить PHP чем Smarty, как минимум если что так вы ему сможете помочь быстрее. Кстати если верстку делает фронтендер лучше прикрутите ему Handlebars какой он и так уже знает наверное
Ну Smarty я и сам не переношу, как и пых в качестве шаблонизатора. Что до handlebars — это если вы имеете дело с SPA, но тут тогда все еще проще ибо мы вообще на сервере не имеет никаких шаблонизаторов.

Для PHP ничего лучше twig нет, и не тольпо потому что его удобно расширять, но и потому что синтаксис в этом шаблонизаторе взят от уже существующего и довольно популярного jinja2, и похожие конструкции есть и в других популярных решениях. Так что верстальщика проще обучить пользоваться twig чем пыхой (имею в виду что бы тот не забывал заэкранировать вывод хотя бы там где нужно).
Ну не знаю какие у вас верстальщики, но если человек осилил джаваскрипт я не думаю что ему долго придется думать над PHP. Также много проектов верстаются самыми разработчиками, которым новый синтакс ни к чему вообще.

К слову я нигде не говорил что он «лучше чем Твиг», главное что он достаточно другой чтобы не быть «еще одной калькой». А какой использовать это уже индивидуально.
Вот скажите честно… на месте фронтэндщика, который имел дело с различными шаблонизаторами, что удонее, стандартный {{some_variable}} который используется в львиной доле шаблонизаторов или ужасный <?= escape($some_variable); ?>?

На вкус и цвет, но мое личное мнение — использовать PHP как шаблонизатор признак дурного вкуса. А следить не оставил ли фронтэндер XSS потому что не заэкранировал вывод как-то вот вообще не хочется.

p.s. верстаю обычно для проектов я сам, и мне противно использовать PHP не для реализации логики.
Две секунды и компилятор готов:

class BraceFormat implements \PHPixie\Template\Formats\Format
{
    public function handledExtensions()
    {
        return array('brace');
    }
    
    public function compile($file)
    {
        $contents = file_get_contents($file);
        return preg_replace('#\{\{\ *(.*?) *}\}#','<? $this->output($\1); ?>', $contents);
    }
}


Ну кому как нравится, мне твиг тоже по душе
Есть гибкий и приятный глазу Twig.
30 сентября 2011… да и бенчмарк немного врет. Насколько я помню когда смарти выводит переменные никакого экранирования не происходит, в отличии от twig. Так что не убедили, продолжаю списывать его со счетов.
Sign up to leave a comment.

Articles