Страница 1 из 1

razor в пхп

Добавлено: 2017.12.18, 14:07
kukuruku
есть шаблонизатор аналогичный razor https://docs.microsoft.com/en-us/aspnet ... iews/razor ?
в идеале чтобы он сразу парсил символ доллара $ (вместо @)
т.е. $name был эквивалентом <?= $name ?>

Re: razor в пхп

Добавлено: 2018.01.06, 01:57
rugabarbo

Re: razor в пхп

Добавлено: 2018.01.06, 02:08
kukuruku
видел
только проект заброшен плюс он не понимает многострочность

Re: razor в пхп

Добавлено: 2018.01.06, 02:10
rugabarbo
Чем Twig не устроил?

Re: razor в пхп

Добавлено: 2018.01.06, 02:19
kukuruku
он умеет работать с многострочностью?

Код: Выделить всё

@for (var i = 0; i < people.Length; i++)
{
    var person = people[i];
    <p>Name: @person.Name</p>
    <p>Age: @person.Age</p>
}

Re: razor в пхп

Добавлено: 2018.01.06, 02:28
rugabarbo
Что-то я не понял, что подразумевается под "многострочностью". Такие же циклы с индексом на твиге легко строятся.

Re: razor в пхп

Добавлено: 2018.01.06, 03:11
kukuruku
указывается 1 раз символ @ и дальше разор сам понимает что ниже находится исполняемый код
не нужно на каждую строку писать @

Re: razor в пхп

Добавлено: 2018.01.06, 03:35
rugabarbo
https://twig.symfony.com/doc/2.x/tags/for.html

Так и в твиге не надо.
И в нём даже попроще for устроен будет.

Re: razor в пхп

Добавлено: 2018.01.06, 11:05
kukuruku

Код: Выделить всё

{% for user in users %}
        <li>{{ user.username|e }}</li>
    {% endfor %}
на каждую строку надо писать {% и {{

Re: razor в пхп

Добавлено: 2018.01.06, 11:10
rugabarbo
kukuruku писал(а): 2018.01.06, 11:05

Код: Выделить всё

{% for user in users %}
        <li>{{ user.username|e }}</li>
    {% endfor %}
на каждую строку надо писать {% и {{
Теперь понял. Я думал, что речь про возможность размещать множество HTML-строк внутри блоков шаблонизатора.
kukuruku писал(а): 2018.01.06, 02:19

Код: Выделить всё

@for (var i = 0; i < people.Length; i++)
{
    var person = people[i];
    <p>Name: @person.Name</p>
    <p>Age: @person.Age</p>
}
Лично я назвал бы это минусом, а не плюсом шаблонизатора. Он за меня решает, какую часть шаблона интерпретировать как исполняемый код, а какую – как часть представления (HTML). Это очень странная магия. Твиг позволяет мне полностью контролировать этот процесс за счёт {% %} и {{ }}. Имхо.

Re: razor в пхп

Добавлено: 2018.01.06, 11:22
kukuruku
он интерпретирует только если есть спец символ @

Re: razor в пхп

Добавлено: 2018.01.06, 11:31
rugabarbo
kukuruku писал(а): 2018.01.06, 03:11 указывается 1 раз символ @ и дальше разор сам понимает что ниже находится исполняемый код
не нужно на каждую строку писать @
kukuruku писал(а): 2018.01.06, 11:22 он интерпретирует только если есть спец символ @
Я запутался.

Re: razor в пхп

Добавлено: 2018.01.06, 11:37
kukuruku

Re: razor в пхп

Добавлено: 2018.01.06, 11:50
rugabarbo
kukuruku писал(а): 2018.01.06, 11:37 https://habrahabr.ru/post/98241/
Ещё больше запутался. Вижу в Razor лишь одно преимущество по сравнению с Twig: не нужно явно закрывать область кода (вместо этого достаточно поставить в начале области кода собаку).

Но это преимущество нивелируется правильной IDE: например, PhpStorm сам ставит закрывающие }} при наборе открывающих скобок в твиг-шаблоне.

Таким образом, для меня Razor станет удобнее Twig-а, если вдруг нормальные IDE запретят, и я буду вынужден кодить в программе "Блокнот".

Re: razor в пхп

Добавлено: 2018.01.06, 12:02
kukuruku
я не агитирую за Razor,тем более что в пхп этого нету

Re: razor в пхп

Добавлено: 2018.01.06, 12:06
rugabarbo
kukuruku писал(а): 2018.01.06, 12:02 я не агитирую за Razor,тем более что в пхп этого нету
Я понял, что не агитируете.

Я пытаюсь понять, чем он понравился и что заставляет его использовать. Может быть я тоже начну (:

Re: razor в пхп

Добавлено: 2018.01.06, 12:15
kukuruku
так нечего использовать
мне понравилось что нету закрывающего тега
плюс циклы foreach удобнее писать

Re: razor в пхп

Добавлено: 2018.01.06, 12:21
rugabarbo
kukuruku писал(а): 2018.01.06, 12:15 мне понравилось что нету закрывающего тега
Пробовали создавать twig-шаблоны в PhpStorm? Или авто-закрытие тегов не впечатлило?