ФорумПрограммированиеPHP для идиотов → пидорохабр. шаблонизатор macro

пидорохабр. шаблонизатор macro

  • phpdude

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

    Spritz 23 ноября 2008 г. 16:03, спустя 2 минуты 55 секунд

    md5, хотели испортить читаемость шаблона. когда я свой писал, я отталкивался от того, что хочу получить "скорость", "убрать недостатки смарти", ну и не писать по 10 спецсимволов на вывод переменной и тп. а некоторые отталкиваются от идеи "хочу написать свое".
    Сапожник без сапог
  • phpdude

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

    Spritz 23 ноября 2008 г. 16:05, спустя 1 минуту 46 секунд

    sap, увы да.

    вот так у меня выглядит код страницы

    <?php
    list($db,$tpl) = MM::get("DB,Tpl");

    $tpl->achieves = $db->select("users_achievements",array("userid"=>$_SESSION['user']['id']),false,array("`order` DESC"));

    $tpl->show();

    не хочется вхуяривать всякие форичи сюда и делать hardcoded переменные, люблю гибкость.
    Сапожник без сапог
  • phpdude

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

    Spritz 23 ноября 2008 г. 16:07, спустя 2 минуты 18 секунд

    list($db,$tpl) = MM::get("DB,Tpl");
    $tpl->specializations = $db->scalar("SELECT GROUP_CONCAT(`specialization` SEPARATOR ',') FROM `#__users_specializations` WHERE `userid`={0}",$_SESSION['user']['id']);
    $tpl->genders = array(
    0=>_("Really don't know"),
    1=>_("Male"),
    2=>_("Female")
    );
    $tpl->show();

    вот еще)
    Сапожник без сапог
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 23 ноября 2008 г. 16:26, спустя 19 минут 4 секунды

    Смотрю на вас, читаю тут все, охреневаю, как вы сами себя понимаете?????
    Мне сюда "PHP для профи" рановато =(

  • phpdude

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

    Spritz 23 ноября 2008 г. 16:33, спустя 6 минут 32 секунды

    это не печатный язык, это язык мысли :) его не надо понимать, им надо разговаривать))

    на самом деле ничего сложного, просто очередные велосипеды, только про которые "не пишут в книжках для ПРОФЕССИОНАЛОВ"
    Сапожник без сапог
  • md5

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

    Spritz 23 ноября 2008 г. 16:56, спустя 22 минуты 53 секунды



    непонятно, нахрена двойные скобки
    Потому что внутри тегов <script> и <style> двойный скобки вещь практически невозможная, а одинарные сколько угодно.
    для этого и есть {literal}


    Есть принципиальная разница между тем, чтобы лезть в код и лезть в шаблон?
    главное определиться, где это делать, чтобы потом не гадать, в коде или в шаблоне…
    все умрут, а я изумруд
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 23 ноября 2008 г. 18:20, спустя 1 час 24 минуты 37 секунд

    не ну литерал внатуре достал, особо когда надо js загнать и пхпой сгенерить, както пришлось просто нереальные функции выплёвывать, после 4-5го шабола перешёл на систему
    {literal}{{/literal}
     function sf($a,$b){literal}{{/literal}
       for($i={/literal}{$i_start}{literal};$i<{/literal}{$i_end}{literal};$i{/literal}{if $i_positive}++{else}–{/if}{literal}){literal}{{/literal}
          Короче всё для того чтобы потом разгребсти свой код хоть както можно было
       {literal}}{/literal}
    {literal}}{/literal}
    {literal}}{/literal}
  • phpdude

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

    Spritz 23 ноября 2008 г. 18:23, спустя 2 минуты 40 секунд

    уху, поэтому я использовал экранирование в своем - {{ }} и получаем скобки :). плюсы - сохранил синтаксис смарти, получил возможность не ебать мозг с Гавномыслями программеров смарти. так то он ахуеть страшно написан, но там всякие ошибки выводятся и прочае ебень, которая нужны только при разработке, я отказался от них в сторону производительности.
    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 23 ноября 2008 г. 18:26, спустя 2 минуты 46 секунд

    Угу, поэтому я вообще отказался от смартиподобных и перешел на натив.
  • phpdude

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

    Spritz 23 ноября 2008 г. 18:27, спустя 1 минуту 22 секунды

    )))))

    скажу прямо, я хотел читаемости и верстаемости попроще, какбы вы сделали кеширование блока страницы? у меня вот так {%500} {/%} на 500 секунд на memcached лег к кеш блок хтмла.

    как бы это выглядело в нативе?
    Сапожник без сапог
  • adw0rd

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

    Spritz 23 ноября 2008 г. 20:41, спустя 2 часа 13 минут 40 секунд

    phpdude, как угодно
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Trej Gun

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

    Spritz 24 ноября 2008 г. 3:39, спустя 6 часов 58 минут 9 секунд


    не ну литерал внатуре достал, особо когда надо js загнать и пхпой сгенерить, както пришлось просто нереальные функции выплёвывать, после 4-5го шабола перешёл на систему
    {literal}{{/literal}
     function sf($a,$b){literal}{{/literal}
       for($i={/literal}{$i_start}{literal};$i<{/literal}{$i_end}{literal};$i{/literal}{if $i_positive}++{else}–{/if}{literal}){literal}{{/literal}
          Короче всё для того чтобы потом разгребсти свой код хоть както можно было
       {literal}}{/literal}
    {literal}}{/literal}
    {literal}}{/literal}



    кто ваш учитель ?
    я впринципе против генерить один язык другим
    надо передать параметры можно сделать так

      
    var i_start = {$i_start}, i_end = {$i_end}, i_positive = {$i_positive};
    {literal}
    function sf($a,$b){
    for($i=i_start;$i<i_end;i_positive>0?i++:i–){
    Короче всё для того чтобы потом разгребсти свой код хоть както можно было
    }
    }
    {/literal}
  • md5

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

    Spritz 24 ноября 2008 г. 3:42, спустя 3 минуты 26 секунд



    не ну литерал внатуре достал, особо когда надо js загнать и пхпой сгенерить, както пришлось просто нереальные функции выплёвывать, после 4-5го шабола перешёл на систему
    {literal}{{/literal}
     function sf($a,$b){literal}{{/literal}
       for($i={/literal}{$i_start}{literal};$i<{/literal}{$i_end}{literal};$i{/literal}{if $i_positive}++{else}–{/if}{literal}){literal}{{/literal}
          Короче всё для того чтобы потом разгребсти свой код хоть както можно было
       {literal}}{/literal}
    {literal}}{/literal}
    {literal}}{/literal}



    кто ваш учитель ?
    я впринципе против генерить один язык другим
    надо передать параметры можно сделать так

      
    var i_start = {$i_start}, i_end = {$i_end}, i_positive = {$i_positive};
    {literal}
    function sf($a,$b){
    for($i=i_start;$i<i_end;i_positive>0?i++:i–){
    Короче всё для того чтобы потом разгребсти свой код хоть както можно было
    }
    }
    {/literal}

    угу, вот и я о чём

    literal использую максимум в одном-двух местах!
    при выводе JS в html (но лучше его в файл убирать) и при добавлении счетчиков на страницу и ВСЁ!
    все умрут, а я изумруд
  • phpdude

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

    Spritz 24 ноября 2008 г. 3:43, спустя 1 минуту 10 секунд

    все равно литерал - зло (
    Сапожник без сапог
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 24 ноября 2008 г. 5:14, спустя 1 час 30 минут 55 секунд



    не ну литерал внатуре достал, особо когда надо js загнать и пхпой сгенерить, както пришлось просто нереальные функции выплёвывать, после 4-5го шабола перешёл на систему
    {literal}{{/literal}
     function sf($a,$b){literal}{{/literal}
       for($i={/literal}{$i_start}{literal};$i<{/literal}{$i_end}{literal};$i{/literal}{if $i_positive}++{else}–{/if}{literal}){literal}{{/literal}
          Короче всё для того чтобы потом разгребсти свой код хоть както можно было
       {literal}}{/literal}
    {literal}}{/literal}
    {literal}}{/literal}



    кто ваш учитель ?
    я впринципе против генерить один язык другим
    надо передать параметры можно сделать так

      
    var i_start = {$i_start}, i_end = {$i_end}, i_positive = {$i_positive};
    {literal}
    function sf($a,$b){
    for($i=i_start;$i<i_end;i_positive>0?i++:i–){
    Короче всё для того чтобы потом разгребсти свой код хоть както можно было
    }
    }
    {/literal}


    Ну это уже как кому. Я всё понимаю, но когда километры JS-a, то всё равно надо выдерживать какую то однотипность. Да давай вообще в начале страницы сгенерим массив, скажем из примерно так тыщёнки наименований, а потом выплюнем его в цикле в тейбл. Тоже классно - кода мало, но браузер ляжет особенно осёл. По твоему примеру если брать глобально - ты наплевал на чистоту генерённого кода, зато облегчил жизнь себе

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