|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
|
undercloud |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.5.2016 Репутация: 1 Всего: 1 |
Всем доброго дня! Я тут создал новый шаблонизатор для PHP http://undercloud.github.io/ant/.
Возможно кому нибудь понравится, интересно Ваше мнение, предложения, баг репорты и т.д. |
|||
|
||||
EugenyPavlenko |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 60 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
В чем его преимущества по сравнению с Твигом, etc ?
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
undercloud |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.5.2016 Репутация: 1 Всего: 1 |
Отличия конечно есть, есть встроенный итератор состояний http://undercloud.github.io/ant/#control-foreach, отдельный слой логики, HAML, JADE, встроенный валидатор-линтер, синтаксис проще - меньше нагромождения служебных тегов,посмотрите документацию |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 3 Всего: 386 |
Я правильно понимаю, что в шаблонизаторе нет блоков и макросов, как в твиге или смарти?
Наследования шаблонов тоже нет? P.S. неправильно понимаю, наследование с блоками есть Это сообщение отредактировал(а) ksnk - 25.5.2016, 08:12 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 3 Всего: 386 |
Нормальный проект должен содержать тесты и примеры. Иначе его слишком сложно оценивать.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
Sentox |
|
|||
как то так Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: нет Всего: 7 |
||||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 3 Всего: 386 |
Sentox, Razor - это тот, который для ASP.NET? Тут, вроде, про php разговор. Хотя синтаксис, на первый взгляд, что-то общее имеет. Буковку @
Основной косяк этого шаблонизатора - выполнение "шаблонных вставок" с помощью eval'а. При таком выборе говорить о хоть о какой то скорости работы уже не приходится. Так что остается только синтаксис. Чем синтаксис лучше синтаксиса твига - не могу понять. Хотя конструкция {{ value or 'пусто'}} мне нравится чуть больше, чем твиговский {{value|default('пусто')}}, хотя еще больше бы нравился {{value || 'пусто'}}, по принятым в Javascript соглашениям... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
undercloud |
|
||||||||||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.5.2016 Репутация: 1 Всего: 1 |
Есть определение собственных функций и расширение синтаксиса Добавлено через 43 секунды
Что такое Razor? Добавлено через 2 минуты и 19 секунд
В планах - сделать онлайн песочницу, а насчет тестирования, оно есть - но не привел к нужному виду и не добавил в коммит Добавлено через 5 минут и 50 секунд
Насчет eval - неправильно поняли, он для исполнения строк-шаблонов объявленных в коде
Добавлено через 7 минут и 3 секунды
Шаблоны кешируются, скорость исполнения === скорость нативных php шаблонов |
||||||||||||
|
|||||||||||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 3 Всего: 386 |
В @if может стоять сложная конструкция, со сравнениями, скобками и так далее?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 3 Всего: 386 |
В общем - надо больше примеров.
Иначе приходится разбираться в коде по исходникам - даже у меня заряд мазохизма иссяк Насколько я понял - все служебные конструкции с @ тупо и цинично трансформируются строковыми заменами в соответствующие php конструкции. Получившийся файл и используется в качестве php-шаблона. Особенного анализа получившегося текста не производится. Так что несложно сломать шаблон, вставив в тело @if или @for синтаксически неверную конструкцию. Разбираться с файлом и строкой ошибки может оказать непросто. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
undercloud |
|
||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 23.5.2016 Репутация: 1 Всего: 1 |
абсолютно любая, любая вложенность конструкций Добавлено через 2 минуты и 4 секунды
Вот тут да, согласен - дебажить шаблон будет затруднительно |
||||
|
|||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Тоже самое же Дело только в приоритетах, но кого они волнуют на одной операции ? Это я про пхп. Мы же в пхп ветке да ? Мне наоборот в шаблонах нравится более "человечный" язык. Сам в твиге стараюсь использовать "is not null" вместо "!= null" например. Ну а "|default()"... твиг более требователен к неопределенным переменным. Тут на вкус и цвет. В твиге все это есть. Свой велосипед это конечно хорошо... но хорошо ТОЛЬКО для саморазвития. Предлагать и не дай боже использовать в реальных проектах - однозначные проклятия от поддерживающих этот проект. Тем более если нет реальных преимуществ. Это сообщение отредактировал(а) _zorn_ - 25.5.2016, 16:15 |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 3 Всего: 386 |
Нее! Мне больше нравится javascript - синтаксис. Он, как правило, лаконичнее, хотя и не всегда очевиден. Ну а в этом случае - такое использование or вообще может быть вредным для здоровья(как и ||), так как синтаксис выражений внутри условий - чистый php в котором or выдает логический результат а не текстовый, как в "текстовых блоках". Язык внутри шаблона должен быть одним. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
_zorn_ |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Ты серьезно ? Вот этот вот язык который меняется каждый день и где не могут прийти к консенсусу ? И где идиотские классы через прототипы ? Нет ты правда серьезно ? Или просто с ним не работал основательно ? Чистый пхп никакой "логический" результат выдать не может (да здравствует динамическое преобразование типов). А что вы имели ввиду я не понял. Но поясню свою мысль. Что
что
сработают одинаково. Если использовать логические операторы "просто потому что кто то так сказал" не понимая что происходит, то всегда будут притензии И в вашем любимом яваскрипте все сработало бы точно так же если бы был оператор "or" тут согласен. Но когда один и за верстальщика и за бекендщика.... Но на будущее делал для "незнакомых с твигом" верстальщиков. |
||||
|
|||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Libraries | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |