Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление
  2. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб [PHP] [Templating] Шаблонизатор Улитка

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем fastin, 2 июн 2015.

  1. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin
    [​IMG]
    Snail
    Сегодня я решил опубликовать своё детище на РБ. Собсна это простой шаблонизатор с названием "Snail", функционал которого вы сможете посмотреть на репозитории.

    Все файлы лежат на GitHub'e и Packagist(Для тех кто пользуется composer'ом). Документация находится на Github'e.
    Распространяется по MIT License.
    GitHub
    Если вам интересна скорость загрузки страницы, то добавьте в шаблон переменную {$time}.

    Всем доброго бобра! И пони. Ладно, котика тоже.
     
    Последнее редактирование: 3 июн 2015
  2. Хостинг MineCraft
    <
  3. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin

    Резерв
     
    Последнее редактирование: 2 июн 2015
  4. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Достойный шаблонизатор :good:
     
  5. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin
    Спасибо :)
     
  6. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    Мы сделаем вам фореч в форече в форече, чтобы у вас был фореч, когда он в форече в форече
     
  7. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin
    Поясни.[DOUBLEPOST=1433270034,1433269567][/DOUBLEPOST]@Vladlen_198, а ну быстро сюда :D
     
  8. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    Это скорее ты поясни, зачем ты мультициклы сделал или тебе объяснить, как они работают?
    Если тебе помогает владлен_198, тогда ясно откуда такое потекло...
     
  9. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin
    Он мне не помогал.[DOUBLEPOST=1433271598,1433271515][/DOUBLEPOST]Лучше объясни.[DOUBLEPOST=1433271777][/DOUBLEPOST]Ты это в компиляторе нашел?
     
  10. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    https://github.com/fastin/Snail/blob/master/lib/Snail/Compiler.php
    Начиная со строки 114
    Что тут непонятного? Это элементарные понятия комбинаторики. Запускается цикла, который запускает другой цикл, который в свою очередь запускает еще один. Допустим, цикл верхнего уровня запустится только 3 раза, а следующие по иерархии еще 3 и третий, тоже 3 раза т.е. всего за цикл выполнится 19683(3^9) операции. Представь, если будет не 3, а скажем 8...
     
  11. Toster_tpl

    Toster_tpl Старожил Пользователь

    Баллы:
    153
    [​IMG] Что за... Мне здесь явно делать нечего.

    Отписался.
     
  12. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Немедленно спешу не согласиться с этим, 81 раз.
     
  13. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin
    Update:
    • Убран лишний foreach
    • Теперь задавать переменные можно в виде массива. Делается это так:
      PHP:
      $snail->assign(array("title" => "Snail Templater"))
    • Также теперь можно выбрать, возвращать шаблон или нет. Делается это так:
      PHP:
      $snail->display("main.tpl"false);
      echo 
      $snail->html["main.tpl"];
    • Добавлено пару фильтров
    • Добавлен Snail_Autoloader - Автоподгрузчик
    • И другие небольшие изменения
     
    Последнее редактирование: 3 июн 2015
  14. pyshcoder

    pyshcoder Активный участник

    Баллы:
    61
    Имя в Minecraft:
    GoshaMosunov
    Вроде неплохо. Бенчмарки есть?
     
  15. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin
    Update:
    • Теперь можно передавать аргументы в фильтр. Делается это примерно так:
      HTML:
      {$var|e("html")}
      Это работает не во всех фильтрах(вообще не в каких :D).
    • Добавлено пару фильтров
     
  16. DEFKALION

    DEFKALION Активный участник Пользователь

    Баллы:
    76
    А что может ваш шаблонизатор?
     
  17. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin
    Читай шапку
     
  18. pyshcoder

    pyshcoder Активный участник

    Баллы:
    61
    Имя в Minecraft:
    GoshaMosunov
    Не, это я видел, интересует сравнение с другими шаблонизаторами. Можно ли его использовать в больших проектах? Компилирует ли он шаблоны в production'е?
     
  19. Автор темы
    fastin

    fastin Активный участник Пользователь

    Баллы:
    78
    Skype:
    the.infastin
    Это не сложно)[DOUBLEPOST=1433402053,1433401893][/DOUBLEPOST]
    Сейчас попробую Smarty и Ветку
     
  20. pyshcoder

    pyshcoder Активный участник

    Баллы:
    61
    Имя в Minecraft:
    GoshaMosunov
    Хорошо, самому сделать бенчмарк не сложно, что по поводу компиляции?
     
  21. danilko

    danilko Старожил Пользователь

    Баллы:
    103
    Вопрос по поводу синтаксиса: А что, если я тупой юзер и захочу написать что-нибудь в фигурных скобках ? Например, имя пользователя будет такое: {$$$БОГАЧЧ$$$}. Это же оно либо пропадёт, либо нотайс выдаст. (сильно не вникал в код, по этому не знаю как оно там устроено)
    И нафига вот это: {$title} какая разница верстальщику как выводить переменные <?=$title?> или {$title} ? Всего три символа, а на "компиляцию" ещё и время уходит, может, проще на чистом пыхе шаблны сразу делать, а шаблонизатор пусть только инклудит их ? И ещё пометочка небольшая на будущее: на многих хостингах, так называемый, альтернативный синтаксис, который ты используешь в скомпилированном шаблоне для циклов и условий отключён и не работает. (Уже много раз ко мне, да и не только ко мне, обращались любители пабликовых модулей для DLE за починкой, так там вся проблема была именно в этом) Ну и плюс ещё кучу регулярок с эндами можно будет заменить одной, которая бы подставляла закрывающую скобку.
     

Поделиться этой страницей