За последние 24 часа нас посетили 18304 программиста и 1633 робота. Сейчас ищут 1585 программистов ...

Идея алгоритма обработки результатов из базы

Тема в разделе "Решения, алгоритмы", создана пользователем Psih, 30 сен 2010.

  1. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    vasa_c
    Насчёт обработки запроса - это схема целиком, и я считаю что этот пункт вообще лишний. Я лично прекрасно обхожусь MySQLi_result + while в коде :)

    Что касается ескейпа данных, я считаю что приложение должно их само обрабатывать. Делать в шаблоне вызовы дополнительные уже лишнее, только усложняет шаблон.

    Я помню когда irc.lv был ещё молод и шаблонизатор там был смарти. Меня бесило писать {$var|htmlsc|...|...}, а уж циклы...
    Лишнее это в шаблоне, там не должно быть ничего кроме foreach, echo, if,if else и if elseif else. Тогда такой шаблон поймёт даже тупой дизайнер и любой верстальщик.
     
  2. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Не из этой темы, но в тему
    Память, которую занимают данные в объекте mysqli при фетче освобождается, разве нет?
     
  3. vasa_c

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

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Тогда не понимаю, почему ты пытаешься избавиться от этих циклов в этой теме?

    Имхо, шаблонизатор должен эскейпить данные сам, а |htmlsc| писать не надо (надо писать как раз в обратном случае), но это частности.
     
  4. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    vasa_c
    Развитие вперёд, не? То что я делаю щас так, не значит что я не хочу улучшить дальше и сделать себе меньше работы :)
     
  5. vasa_c

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

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    <занудство>так прекрасно обходишься или хочешь сделать себе меньше работы?</занудство>
     
  6. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Они минимальны, между тем читабельность кода даже лучше с несколькими циклами (идёт чёткое разделение что где)

    Я не против такого подхода, но считаю что на РНР в принципе надо забить на быстродействие и память (99% web проектов сидят с низкой посещаемостью, а 1% нужно оптимизировать в индивидуальном порядке)

    На мой взгляд смысо РНР это в первую очередь удобство для программистов, по этому если ты считаешь что такой подход удобнее, то вперёд и с песней, попробуй да поделись результатами, а за одно и быстродействие и расход памяти замерь...

    А вообще не моя ли гостевуха тебя на код натолкнула ?
    Там "шаблон" такого вида (разврат но...)
    PHP:
    1. <?while($row = mysql_fetch_assoc($posts)):?>
    2. <p><i><?=$row['date']?></i><br><?=bb_code($row['text'])?></p><hr>
    3. <?endwhile?>
     
  7. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Vladson
    Ну я как правило с маленькими сайтами дело не имею, да и мне просто сама мысль, что там 3 цикла вместо 1 не даёт покоя :)

    А про шаблон - да нет, сам как-то пришел к этому :) Правда я всё-же в шаблоны пока передаю массив уже с обработанными и эскейпнутыми данными. А в приложении обрабатываю ресурс, т.е. прослойка не делает эту работу за меня. Тем самым экономлю память и в ручную изничтожаю результаты запросов :)
     
  8. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Я тоже, но другими путями.

    На мой взгляд (я смотрю именно со стороны небольших сайтов, хотя как мне кажется к большим это тоже применимо, исключения действительно настоящий HighLoad)

    В базе на мой взгляд храниться должны данные (именно данные) а уже обработкой должен заниматься шаблон (т.е один шаблонизатор генерирует HTML другой XML третий отправкой на мыло, двадцать пятый экспортом в Excel) а основной скрипт (занимающийся логикой) должен только подготовить данные для использвания (именно исходные данные) по этому никаких обработок, там быть не должно
     
  9. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Ну вообще по идее это получается другой тип системы, где view управляет потоком выполнения программы. По сути view становится контроллером.
    Работал с такими системами, на самом деле удобно. Подход отличается конечно, надо привыкнуть. Ну и верстальщик 100% должен знать какой-то язык помимо самого HTML + CSS, т.к. шаблонизаторы там если и есть, то сложные, т.к. такую логику просто не сделаешь (по сути это почти программный код). Лично я имел дело с XML based шаблонизатором. Честно говоря было круто, реализация была на высоте (ну да, там разработчик был маньяк-перфекционист :D)