github.com/Seldaek/slippy/issues/14
хотел уж было написать о баге, а оказывается уже. Проект open-source, баги есть везде, главное чтобы постепенно исправлялись
Кстати в Shower есть похожий баг, или фича, не знаю. Если все «инлайн» итерации слайда прокрутить, дальше движок их опускает
Например дать возможность юзеру cms изменять шаблон страницы, вставлять вывод блоков модулей… Разметка шаблонизатора понятнее и проще, нежели php
Ну и наследование… представьте себя без наследования в программировании — это море копипаста, вот также и в шаблонах
1) я не могу говорить за данный шаблонизатор, у него очень впечатляющее начало, но еще довольно сырой, возьму твиг, который более менее знаю, там по умолчанию весь вывод эскейпится.
Есть фильтры, которые применяются инлайн, есть фильтры которые применяются к блоку.
в данном случае первый раз ничего эскейпиться не будет, во втором случае будет. Каскадность думаю не надо особо пояснять, если инлайн ничего нет -> смотрим что за блок, если нет инфы по блоку -> смотрим в глобальные настройки
Тут еще хочу отметить приемущество фильтров, на замену функциям, представим что вам нужно применить 2-3 фильтра:
Возможно ситуация из воздуха, но по моему видно приемущество(А представьте что вам еще нужно вызывать trim)
2) Согласен, и в твиге можно eval-блок прикрутить, но это уже сам дурак, ничего учить не нужно, все это вы уже знаете, а что не знаете за 2 минуты в доках узнаете, самое сложное — use-блок в твиге, остальное понятно интуитивно
Также у твига есть неоспоримое приемущество — есть js версия, и вроде как синтаксис полностью идентичен django синтаксису, так что в определенной ситуации перенести бекэнд на django, nodejs, или рендрить шаблоны на клиенте не составит труда
3) Не знаю, я вообще не понимаю людей которые занимаются исключительно версткой, но представим новичка, который еще не знает не php, не html толком, twig.sensiolabs.org/documentation — искать по встроенным функциям, и прочитать книгу по шаблонизатору проще, чем исследовать что же за функция сливает массив в строку, или тому подобное
Кратко: каскадные фильтры на переменные, особенно удобно с кешированием, механизм наследования, все зависит от разработчика, но шаблонизаторы удерживают от логики в шаблонах, верстальщикам проще понять логику шаблонизатора и главное посмотреть в доках функции нужные именно шаблонизатору, а не все функции php
Очень хотел протестировать Volt из нативного фреймворка Phalcon, но, увы, на первом же тесте он ушел в бесконечный цикл, поэтому его пришлось дисквалифицировать.
Так нативные шаблоны ничем не отличаюся от скомпилированных, если правильно компилировать. Возможно даже некоторые моменты шаблонизатор лучше заоптимизирует, но по хорошему явно не хуже. А проиграет только на этапе компиляции
Не уверен, что это хорошая практика, но например можно добавить в такие параметры ключ version, и в зависимости от его наличия/значения по разному трактовать эти параметры. В таком случае проекты могут безболезненно обновлять сторонние продукты и постепенно делать изменения
Вот это да, youtrack.jetbrains.com/issue/WI-5223 тут идет обсуждение по api для «умных массивов», и arrayAccess классов. Туда добавили мое предложение, возможно можно это доработать и вполне получится api для указания ключей у массива с опциями.
Мне кажется автор не призывает никого отказаться наотрез от BC. Но призывает проектировать API так, чтобы введение новых фич не тормозилось предлогами об обратной совместимости.
А на мой взгляд удобно необязательные параметры передавать в массиве. Это позволяет менять эти необязательные параметры, свободно тянуть их из конфигов, без всяческих преобразований.
Ошибки в исключениях тоже не особо информативны, если не отключить сборку класов в один файл, думаю у каждого была такая ситуация, что вываливается ошибка на строке #12541 и приходится сначала искать ее в кеш-файле, а потом в действительном файле.
На мой взгляд вопрос не правильно сформулирован. нужно добавить слово максимум, я отметил именно максимум. Ну и интересно что делает приложение, хотя на мой взгляд все ресурсы, кроме первичного дизайна приложение должно подтягивать с сервера. Например есть приложение консультант+. В тот момент когда оно было мне нужно — я скачал нужный закон и просмотрел + есть возможность скачать основные нужные, но все это опционально, гибкость всегда привлекает
В IOS предустановленный не умеет строку принимать, хотя обратную польскую нотацию на первом курсе, а кто-то и раньше реализовывал. Так что есть куда разгуляться. Для синусов/косинусов брать табличные значения где возможно и показывать пи. И я думаю если покапаться можно много всякого засунуть в калькулятор, кроме «рюшечек»
хотел уж было написать о баге, а оказывается уже. Проект open-source, баги есть везде, главное чтобы постепенно исправлялись
Кстати в Shower есть похожий баг, или фича, не знаю. Если все «инлайн» итерации слайда прокрутить, дальше движок их опускает
Ну и наследование… представьте себя без наследования в программировании — это море копипаста, вот также и в шаблонах
Есть фильтры, которые применяются инлайн, есть фильтры которые применяются к блоку.
в данном случае первый раз ничего эскейпиться не будет, во втором случае будет. Каскадность думаю не надо особо пояснять, если инлайн ничего нет -> смотрим что за блок, если нет инфы по блоку -> смотрим в глобальные настройки
Тут еще хочу отметить приемущество фильтров, на замену функциям, представим что вам нужно применить 2-3 фильтра:
Возможно ситуация из воздуха, но по моему видно приемущество(А представьте что вам еще нужно вызывать trim)
2) Согласен, и в твиге можно eval-блок прикрутить, но это уже сам дурак, ничего учить не нужно, все это вы уже знаете, а что не знаете за 2 минуты в доках узнаете, самое сложное — use-блок в твиге, остальное понятно интуитивно
Также у твига есть неоспоримое приемущество — есть js версия, и вроде как синтаксис полностью идентичен django синтаксису, так что в определенной ситуации перенести бекэнд на django, nodejs, или рендрить шаблоны на клиенте не составит труда
3) Не знаю, я вообще не понимаю людей которые занимаются исключительно версткой, но представим новичка, который еще не знает не php, не html толком, twig.sensiolabs.org/documentation — искать по встроенным функциям, и прочитать книгу по шаблонизатору проще, чем исследовать что же за функция сливает массив в строку, или тому подобное
Интересно! Также думаю если кто-то из русского сообщества захочет разобраться со внутренностями, отправить патч и тд, будет полезно почитать об этом