программерское :: smarty
Раз за разом смарти преподносит мне сюрпризы, выставляя самозабвенным изобретателем велосипедов. А все от того, что я никак не возьмусь один раз внимательно прочитать его документацию до конца.
Например, банальная вещь: вывести список чего-то, а если список пустой, писать сообщение об этом. Нет, конечно, от лишнего {if}{else}{/if} я не умру, но все-таки {foreach}{foreachelse}{/foreach} лучше.
Или ввод даты селектами. Я в итоге соорудил мощный включаемый блок, который рисовал селекты и добавлял к ним календарь для большей визуальности. А о {html_select_date} я даже и не подозревал. Выясняется, что с ним можно сделать то же самое.
Ну а о банальном default'е даже говорить не хочется : (
Эх, блин, столько замечательно удобных вещей вокруг, если бы только находить их тогда, когда они нужны в первый раз. Но это, конечно, мечты. А в жизни нужно либо читать маны (голова опухнет все это читать), либо полагаться на счастливый случай...
комментарии
pha:
у тя кстати нет подозрения, что он тормозной? а то я всё никак не сподоблюсь сделать нормальные нагрузочные тесты
_arty:
я ты заглядывал ему в кишки?
меня очень радует его компиляция шаблонов, единственное, что имхо может работать медленно, это include в шаблонах, и собсно само включение 30-60 килобайт смарти
хотя внутренности его я разглядывал не очень внимательно
pha:
да include в шаблонах тормозит, это я тоже заметил. а вообще у меня есть ощущение, что смарти это пхп на пхп
_arty:
близко к тому, но все же он специализированный
то же самое кэширование можно вспомнить
pha:
а как ты думаешь мод_пхп не кэширует оттранслированные скрипты?
_arty:
ну он же может кэшировать и оттранслированные кэшированные смарти скрипты
и, кроме того, кэширование у них совсем разное, насколько я понимаю
разве мод_пхп может кэшировать отдельные блоки?
anonym:
можешь так же раскидать свой пхп код по модулям, или для того чтобы сказать: "вот это шаблон, а вот это бизлогика" нужно чтобы они были написаны на разных языках? напоминаю про синтаксис <?= $var ?> тоже неплохие шаблоны получаются, так ещё и не надо выёбываться, что бы сделать на смартевском птичьем языке что тебе нужно
_arty:
ну мне как-то особо извращаться со смарти не приходилось, зато вот набор всяких мелких функций у него удобный. Кроме того, он все-таки отделяет глобальные переменные от своих, не позволяя использовать первые.
а насчёт раскидывания кода по модулям... я не общался тесно с mod_php, но я сомневаюсь, что инклюды он компилит отдельно от главного файла. хотя хз, конечно.
в общем, я же тебя не заставляю : )
pha:
я не аноним
acidjazz:
не совсем верно, это не php на php, это просто php с упрощенным синтаксисом. один раз шаблон переводится в нормальный php и потом исполняется уже обычным интерпретатором
pha:
ух-ты у нас завёлся формалист
acidjazz:
это не формализм, просто php на php - это было бы очень медленно, в то время как smarty - это просто php.
acidjazz:
{foreach}{foreachelse}{/foreach} не совсем заменяет {if}{else}{/if}.
потому что, например, тебе нужно выводить таблицу с заголовками полей (часто), а если таблица пустая, то не выводить ее верхушку. и не помогает foreachelse в таком случае.
_arty:
я знаю, я уже рюхнул, что это мне не пригодится : )
acidjazz:
кстати, ман по smarty не такой уж и объемный, рекомендую все-таки прочитать :)
_arty:
это когда (если) время будет : )