За последние 24 часа нас посетили 17746 программистов и 1649 роботов. Сейчас ищет 971 программист ...

Привет простейший чистый шаблонизатор

Тема в разделе "PHP для новичков", создана пользователем siiXth, 26 апр 2011.

  1. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    да. но либо я неимоверно крут, либо что-то еще, но меня это не напрягает.
    тем не менее - это все частности. главное, что даже если у меня та самая злополучная форма с моего сайта и выходит разом в одном эхо, но я всегда стараюсь отделять "вычисления" от "хтмл".
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    КАКИЕ ЖЕ ВЫ БЕШЕННЫЕ :D

    эм , ну тот код что я писал выше он для меня , а не для вас , а мне xml отдавать не надо , темболее я не умею ;)

    так только школота делает =))

    Volt(220) , вот тут чтото похожее


    Gromo
    ну у меня же проще..))


    я просил посоветовать то что мне нужно и проверить то что я написал , а не пытаться меня переубедить )) у меня ничего сверхсложного не будет и я знаю что я всё сделаю с такой заменой тегов. мне просто так удобно.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если тебе ТАК удобно - юзай сразу труЪ %s
     
  4. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    если тебе так удобно и ты в этом уверен, зачем тогда:
    на твой вопрос тебе ответили моментально: через функцию - адекватно. пока ты не начнёшь использовать её для вспахивания огородов. как только ты отказываешься передавать в шаблон логику представления (а подстановка - это не логика ни разу, это просто разметка), то ты возвращаешься к тому, с чего начал. вот это уже не адекватно
     
  5. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    что это ? xd
     
  6. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    ану-ка давай цитату этого ответа :D

    всё что я буду ей делать - передавать массив замены str_replace и всё.
     
  7. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    ))
     
  8. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Проходил этот этап.... :)

    Впереди тебя ещё ждёт пару сюрпризов =D

    (потом ты поймёшь что идеального просто не существует, не знаю, может вообще невозможен, а может просто пока не изобретён, но то что ты предложил, это "не торт")
     
  9. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    ну я так понял что единственным аргументом является то что в своей херне я не смогу выдать XML по какой-то причине которое мне нахрен не всралось. прикольна , не ожидал.

    titch
    чё скобки ставишь ? :D показывай где мне хоть на чтото ответили :D
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    А PHP?
     
  11. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    siiXth

    Чувак, ты утрируешь. XML здесь вообще не при чем.

    Аргумент звучит так: когда надо изменить отображение - менять нужно шаблон, а не "контроллер" (или как его там).

    А у тебя при замене верстки дивами на табличную, или наоборот - придется лезть в логику приложения.

    Ну я хз, что еще говорить.... Извини, но ты дальше собственного носа заглянуть боишься.

    - это сегодня, а завтра может и всрется. Или ты всю жизнь будешь один типовой проект писать?
     
  12. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    я так понимаю что вы не с той стороны смотрите. мне оно нужно для вывода переменных , текста - не более.
    та не , я просто хочу знать для чего мне нужно ставить посторонний шаблонизатор
    в детстве катался на велосипеде с двумя ракетами на метане. а чё ? знал ведь что стану космонавтом - пусть будет =) для того что я пишу - очень сомневаюсь что он понадобится =)

    ну в общем задам вопрос конкретней - для вывода переменных и текста в шаблон всё круто ? =)
     
  13. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    да, функционала как раз на это и хватит ;)
     
  14. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    siiXth

    ну тогда вопрос - в чем разница между

    {content}

    и

    <?php echo $content;?>

    ?
     
  15. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    ни в чём )
    не люблю мешать =)
     
  16. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Вообще если честно, то использование PHP как шаблонизатора, конечно, оправдано... но сложные шаблоны читаются хуже. Ощутимо хуже, в сравнении, например, с тем же смарти. А учитывая, что смарти конвертит шаблон в PHP и кеширует - получается в общем профит в читабильности без потери производительности.
     
  17. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    siiXth

    ага, я тоже. потом голова на утро болит...

    MiksIr

    С другой стороны, я должен помимо синтаксиса php запоминать синтаксис Smarty. Или если нужна какая-то функция, для которой не написан плагин - писать его.
     
  18. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    В пхп тоже придется писать функцию, если нужной нет. Только, придется еще подумать о видимости этой функции... т.е. или делать статический класс, или еще как-то. И все-равно писать для шаблонов классы-обертки, что бы запрятать в них переменные, обеспечить подгрузку шаблонов.

    А синтаксис выучить... ну да, придется - не проблема это для нормального разработчика, тем паче, что делается это один раз. Притензии лично в смарти - это непродуманный синтаксис в переменных - зачем-то поменяли принцип пхп-шной работы с массивами на свой, в итоге понаделали реально проблем в работе. Но это уже вопрос кривой реализации, а не шаблонизатора.

    А попробуйте, например, сделать что-то вроде типографа написанного текста. Придется писать всякие ob_start и т.д. - очень красивые конструкции в шаблоне, правда? ;) Ну и вообще, вы отступами в PHP коде пользуетесь? А зачем? Правильно, что бы читалось легчке. Шаблонизатор обеспечивает более легкое чтение шаблона - и это многого стоит.
     
  19. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    MiksIr

    Да, по поводу обертки согласен - именно так и реализовано.

    Жертвую читабельностью в пользу свободы действий и единого php-синтаксиса. У меня 2 работы, на одной из них Смарти, на второй - native php шаблонизатор. Правкой шаблонов занимаюсь именно я, а не верстальщик.

    Так вот - парит, когда приходится вместо простейшего date('Y-m-d') лезть в доку за |date_format('%Y-%m-%d') или как там.

    А когда шаблоны Смарти довольно громоздкие - читабельность ничем не лучше native php
     
  20. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Ну ты перепиши смарти шаблон, где несколько вложенных циклов, куча выводов... а особенно такие упрощения, как
    {sectionelse}, модификаторы типа default или банальный {strip}. И увидишь разницу... она есть, что уж тут. Я не говорю, что разница уж писец какая критичная, но приятная глазу. Имхо, основная цель шаблонизатора - обеспечить вкусные плюшки по сокращению управляющих конструкций в шаблоне... ну да, желательно не сильно отходя от синтаксиса php.
     
  21. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Шаблонизатор должен быть нативными.
     
  22. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Шаблонизатор никому ничего не должен.
     
  23. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    И он не идеален, и тем более не так и прост.
     
  24. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    Ладно , уговорили. Сделаю компромисс - шаблоны в *.php , в нём тупая вёрстка с выводом где нужно циклы , проверки и т.д , и масса тупой вёрстки =))
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    siiXth
    шаблонизатор хорош когда "другие люди" типа дезигнеров и манагеров допущены к ковырянию.
    в случае если шаблоны не меняются, или меняются программистами же - все хорошо будет и без шаблонизатора.