Обновить
28
Никита Гусаков@hell0w0rd

Пользователь

12
Подписчики
Отправить сообщение
github.com/Seldaek/slippy/issues/14
хотел уж было написать о баге, а оказывается уже. Проект open-source, баги есть везде, главное чтобы постепенно исправлялись
Кстати в Shower есть похожий баг, или фича, не знаю. Если все «инлайн» итерации слайда прокрутить, дальше движок их опускает
А чего обгонять-то? Шаблонизатор «тормозит» загрузкой ядра, которую можно сделать и думаю сделанна в lazy стиле, остальное нативный php
Например дать возможность юзеру cms изменять шаблон страницы, вставлять вывод блоков модулей… Разметка шаблонизатора понятнее и проще, нежели php
Ну и наследование… представьте себя без наследования в программировании — это море копипаста, вот также и в шаблонах
1) я не могу говорить за данный шаблонизатор, у него очень впечатляющее начало, но еще довольно сырой, возьму твиг, который более менее знаю, там по умолчанию весь вывод эскейпится.
Есть фильтры, которые применяются инлайн, есть фильтры которые применяются к блоку.
{% autoescape %}
    {{ someVar|raw }}
    {{ someVar }}
{% endautoescape %}

в данном случае первый раз ничего эскейпиться не будет, во втором случае будет. Каскадность думаю не надо особо пояснять, если инлайн ничего нет -> смотрим что за блок, если нет инфы по блоку -> смотрим в глобальные настройки
Тут еще хочу отметить приемущество фильтров, на замену функциям, представим что вам нужно применить 2-3 фильтра:
{{ textVar|e|lower|capitalize }}
<?php=e(ucfirst(strtolower($textVar)));?>

Возможно ситуация из воздуха, но по моему видно приемущество(А представьте что вам еще нужно вызывать 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 предустановленный не умеет строку принимать, хотя обратную польскую нотацию на первом курсе, а кто-то и раньше реализовывал. Так что есть куда разгуляться. Для синусов/косинусов брать табличные значения где возможно и показывать пи. И я думаю если покапаться можно много всякого засунуть в калькулятор, кроме «рюшечек»
Вот в видео показывалась панель редактирования иконки в metro. зачем там сделали select? Почему нельзя занять место справа, его же там достаточно.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность