can3p (can3p) wrote,
can3p
can3p

  • Music:

php + f**king Smarty

Разбираюсь со Smarty. Сначала был в восторге, но теперь радости всё меньше и меньше. Основной запор состоит в итерации данных. Допустим, я сделал запрос в базу, вернуться должно порядочное количество данных, при этом их надо еще и обработать с помощью пары функций.

Так вот, если использовать Smarty, то получается такой алгоритм: забираем все данные от запроса. Потом в цикле к каждой строке результата применяем нужные функции и пишем опять в этот же массив. А потом еще инициализируем эту переменную в Smarty($smarty->assign()), а потом еще этот шаблонизатор будет сам проходить эти данные в цикле.
Итого получаем:
а) делаем большой массив
б)применяем функции
в)один раз копируем в Smarty
г)Smarty перебирает массив

На php можно записать
while($row = $object->get_another_row()){
//do something with row and output it
}

Если делать со Smarty, то этот код будет относиться только к первым двум шагам.

Таким образом со Smarty будет потеря скорости, хотя это без учёта кеширования. А если делать только с помощью php, то логика и представление смешаются, а это то, от чего я хочу уйти.

Пока писал пост, подумал, что кеширование может дать плюс, компенсирующий все минусы. Пойду, проверю.
Tags: php
Subscribe

  • Таких постов тысячи

    Вчера получили доступ к сайту со статистикой по тратам на отопление. Мы тратим примерно в три раза больше среднего по квартирам такого же метража в…

  • Про новости и про чтение, ч. 3

    Навеяно постом Людвига. Дело в том, что я сам пришел к абсолютно таким же выводам. СМИ и социальные сети дают нам поток информации, ценность…

  • (no subject)

    Встретил вопрос - напишите, пожалуйста, пять ваших самых главных профессиональных достижений. Оказалось, что не так много можно записать в актив,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments