Как стать автором
Обновить

Комментарии 11

Достойное продолжение, для remal тоже плюсик :)
Актуальность кэша каким образом обеспечивается, можете рассказать?
Каждый раз когда вызывается метод save у propel объекта, обновляется и кэш (addInstanceToPool($this)).

Предыдущий коммент отправился не вовремя ). Опишу подробнее.

$oUser->save(); Обновит кэш вызовом метода (addInstanceToPool($this)).
$oUser->delete(); Удалит из кэша объект (removeInstanceFromPool()).
UserPeer::retrieveByPk(); Положит объект в кэш, если его там нет (getInstanceFromPool, addInstanceToPool())
UserPeer::doDelete(); очистит весь кэш модели, если в него передадут объект Criteria (clearInstancePool()) или конкретный объект (removeInstanceFromPool()), если передадут PK.

Таким образом, если мы будем менять данные в базе только через модель, за актуальность отвечает Propel, иначе — мы сами.
Как раз изучаю symfony.
Почитал и статью и то с чего начиналось, возник вопрос.
Стоит ли вместо Propel юзать Doctrine?
тоже этот вопрос интересует. для зф юзаю Doctrine — не нарадуюсь. а в Symfony есть встроенная поддержа Доктрины и вдруг Propel…
А всё просто на самом деле: на текущий момент ORM по-умолчанию в symfony — Propel. Doctrine заменит Propel в версии 1.3, которая должна выйти 30 ноября.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории