ФорумПрограммированиеPHP для идиотов → Снова парсер шаблонов

Снова парсер шаблонов

  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 23 февраля 2009 г. 8:52, спустя 43 секунды

    ну канешн спасибо…
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 9:01, спустя 8 минут 29 секунд

    artoodetoo, aivee, молодцы! хуйней страдаете! )))))))))))
    Сапожник без сапог
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 23 февраля 2009 г. 9:02, спустя 1 минуту 18 секунд

    праздник ведь
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 9:22, спустя 19 минут 51 секунду

    На пыхе уже сложилась традиция:

    1. Когда кто-то показывает свой мега супер-пупер джаваскрипт, приходят дуд с мавром и говорят: "Выкинь свое гавно и начни наконец юзать JQuery".
    2. Когда кто-то показывает свой мега супер-пупер шаблонизатор, прихожу я и говорю: "Выкинь свое гавно и начни наконец юзать Blitz".

    Добавить больше нечего.
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 23 февраля 2009 г. 9:36, спустя 14 минут

    Выкинь свое гавно и начни наконец юзать Blitz - начал бы, еслиб не надо было на хостинг ставить. так можно и сказать не юзай пхп, он гавно - есть же пайтон!!!!!
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 9:48, спустя 12 минут 20 секунд

    не юзай пхп, он гавно - есть же пайтон! :)
    adw/0
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 9:54, спустя 5 минут 35 секунд

    На пыхе нет ни одной темы, которая не превратилась бы в разговоры о разговорах.

    Подавляющее большинство проектов не заслуживают хостинга, на котором можно поставить blitz. Но это не значит, что они не нужны.
    Давай я скажу: разбейте свои велосипеды апстену, ведь есть BMW, а он гораздо лучше. Ты ведь любишь бэхи, но такую хуйню не говоришь.
    Откуда этот высокомерный пафос? Ёпта, да ты хотябы посмотрел пример?

    Супер-пупер Пиздец! Я лучше пойду пиво пить

    ιιlllιlllι унц-унц
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 10:21, спустя 27 минут 19 секунд


    Подавляющее большинство проектов не заслуживают хостинга, на котором можно поставить blitz. Но это не значит, что они не нужны.
    Гавнопроекты не заслуживают обсуждения какой к ним применять шаблонизатор, лучше вообще никакой. Так же они не заслуживают обсуждения в разделе для профи.

    Скажи, ты в серьез, считаешь что шаблонизатор, который не делает ничего кроме банальных подстановок можно назвать каким-то другим словом? Или надо опять на пальцах обяснять, что как только проект станет чуть сложнее "hello world" не хватит функционала?

    В конце концов, если такие проблемы потратить лишние 10 баксов на хостинг, возьми Xtemplate. Хоть и убог но всяко пофункциональней раз в 20 будет. Наверно еще что-то найти можно похожее. Смарти возьми наконец (прости меня господи), я терпеть его не могу, но хотя бы понятно в чем он реально может помочь.
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 10:30, спустя 9 минут 21 секунду

    AlexB, между качеством кода и ценой за хостинг скорее обратная связь.
    больше мне нечего добавить.

    aivee,

    мне влом писать <!– –>. супершаблонизатор
    class Template
    {
    … куча кода ради кода
    }



    вместо этого говнокода, предлагаю другой :)


    function tpl($tpl, $vars, $echoAndDie=false)
    {
    if ($echoAndDie)
    {
    include $tpl;
    exit();
    }

    ob_start();
    include $tpl;
    $content = ob_get_contents();
    ob_end_clean();
    return $content;
    }


    Вот почему:
    1. это не тот случай когда класс дает что-то, кроме лишнего кода
    2. include_once не даст тебе вызвать один скрипт дважды в разном контексте внутри одной сессии. а собственно почему?
    3. не может такого быть, чтобы понадобился exit без вывода страницы. поэтому параметр $echoAndDie один на оба действия.
    иначе — на твое усмотрение - либо
    $str = tpl($myFile, $myVars);
    либо
    echo tpl($myFile, $myVars);
    ιιlllιlllι унц-унц
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 23 февраля 2009 г. 11:00, спустя 29 минут 29 секунд

    а собственно почему?

    а собсно нах?
    не может такого быть, чтобы понадобился exit без вывода страницы

    у меня вродь такого нет, ткни носом если я не заметил
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 11:10, спустя 10 минут 31 секунду

    а собственно можно подсовывать любой генерирующий html код, например "сообщение форума", то есть повторяющийся 25 раз на страницу

    ну буквально нет, НО display() с параметром по-умолчанию сводится к простому get() - то есть один хер. с другой стороны ob_start|ob_end_clean вызывается в любом случае, даже если ты не хочешь забрать вывод в переменную. это нормально?
    ιιlllιlllι унц-унц
  • Lirck

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 23 февраля 2009 г. 11:14, спустя 3 минуты 30 секунд

    а собственно можно подсовывать любой генерирующий html код, например "сообщение форума", то есть повторяющийся 25 раз на страницу

    у меня это в самом шаблоне делается.

    ну буквально нет, НО display() с параметром по-умолчанию сводится к простому get() - то есть один хер. с другой стороны ob_start|ob_end_clean вызывается в любом случае, даже если ты не хочешь забрать вывод в переменную. это нормально?

    хз, мне поx)

    upd  я считаю что это правильно, когда вся информация для сборки шаблона идет из контроллера в шаблон и там уже собирается.
    вот еще почитай http://ru.wikipedia.org/wiki/Полиморфизм_в_языках_программирования да и вообще
    http://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование
    не зряж придумали ооп
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 11:39, спустя 25 минут 22 секунды

    Не знаю что у тебя делается, я говорю о том, как работает твой класс.
    Он вызывает на исполнение модуль php, который использует $vars[]. Больше ничего. Я написал тебе то же самое, но короче.
    Ах да! Вместо $this->$vars придется писать $vars :)

    А если у тебя строго один шаблон на страницу и он стопудово завершает работу, тогда даже функция не нужна. Просто в контроллере готовишь $vars, а последней строкой include $myFile. Строго и красиво и нахуй никаких бесмысленных классов.

    ιιlllιlllι унц-унц
  • artoodetoo

    Сообщения: 5138 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 11:42, спустя 3 минуты 9 секунд

    PS. Я уже хрен знает сколько лет использую ООП. Поэтому спинным мозгом чувствую где классы дают выгоду, а где нет. Бля, где тут полиморфизм?

    вот тебе чтиво
    http://ru.wikipedia.org/wiki/Антипаттерн

    Ненужная сложность (Accidental complexity) и Мыльный пузырь (Soap bubble)
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26618 Репутация: N Группа: в ухо

    Spritz 23 февраля 2009 г. 20:49, спустя 9 часов 6 минут 18 секунд

    дкмагогия какая то ..
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!