Доктрина событий лучшая практика?

После прочтения ЭТОТ часть Учебная документация в котором говорится, что DQL Обновление Заявления НЕ вызвать preUpdate или же postUpdate Событие Я полностью сбит с толку.

я реализованная Доктрина в мое собственное приложение … так что нет Symfony или что бы то ни было, и все работает просто замечательно — и я горжусь, что сделал это так далеко. НО …..

Как я могу достичь, чтобы получить все до или же сообщение Обновить а также Промывать События независимо от того, использовал ли я DQL или один из этих предопределенных findOneBy () и пр. методы ????

Пока они нужны мне только для тестирования и внедрение системы кеширования так как сейчас у меня нет никаких сложных Ассоциаций сущностей, которые требуют дальнейшего управления настойчивостью.

что-то вроде

<!--code start -->
// $key = $_SERVER['REQUEST_URI.'_'.$entity
onPostUpdateEvent($memcached->delete($key));
if($memcached->get($key)){
return $memcached->get($key);
}
$result = $em->getRepository($entity);
$memcached->set($key,$result,$lifetime);
return $result;

На самом деле я хотел настроить пользовательский класс событий для обработки всех событий или лучше использовать @preFoo и т. д. аннотации для функций внутри сущности ??

Есть ли лучшая практика для всех случаев?

РЕДАКТИРОВАТЬ:

попытается использовать $ query-> resultCache ();

например:

$query = $em->createQuery('bla di bla');
// doNotCache isset via EventListener listening to postUpdate
// in AbstractController initialize() Method
if($this->doNotCache){
$query->useResultCache(false);
}else{
$query->useResultCache(true, 3600, 'my_custom_id');
}
$result = $query->getArrayResult();

огромное спасибо

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector