В Engine (trunk) выгружена новая событийная система (Engine Events).
Все подсистемы Engine_ContentProcessors, Engine_Listeners помечены как @deprecated и будут удалены через 15 дней в соответствии с правилами чистки deprecated-кода (
http://packages.webproduction.com.ua/package/PackageLoader/article/global-wpp-sr-deprecated.txt/).
Engine_Events полностью заменяет Engine_ContentProcessors и Engine_Listeners.
Основная идеология событий в Engine такова:
некоторые части системы в определенные моменты генерируют определенные события, на которые разработчик может подписаться и повлиять. Например:
Engine::GetEvents()->observe('afterContentProcess', new MyObserver());
В момент наступления события afterContentProcess в наблюдатель MyObserver прийдет событие MyObsever->notify($event).
И у $event-а можно спросить все подробности события:
$event->getContent(), $event->get...
или поменять что-то:
$event->getContent()->set...
$event->set...
В зависимости от каждого события, в observer может приходить разный объект Event'a. Например, для событий beforeContentProcess/afterContentProcess приходит Engine_EventContentProcess, а для afterEngineFinal просто Engine_Event.
Количество Event'ов будет расширяться по мере необходимости.
--
With best regards,
Maxim Miroshnichenko,
WebProduction, co-founder & technical director
http://webproduction.com.ua/
m...@webproduction.com.ua
Office:
off...@webproduction.com.ua
+38 (050) 447-95-30
+38 (0462) 61-42-61