Ответ 1
Я использую события в Yii для слабосвязанного отправителя и получателя сообщений внутри одной установки Yii (без распространения, одного сервера).
В моем программном обеспечении Yii есть модули Yii для функциональных блоков. Клиенты получают комплекты модулей в зависимости от их функциональных требований. Этот модуль должен соединять друг с другом.
Пример:
- В модуле 1 (модуль отправителя) есть обновление состояния, которое должно быть передано пользователям.
- Модуль 2 (модуль приемника) отправляет обновления статуса в твиттер.
- Модуль 3 (модуль приемника) отправляет обновления статуса по электронной почте.
Чтобы модули модуля-отправителя были независимы от модулей-приемников, я использую механизмы событий Yii. Таким образом, модуль 1 не должен ничего знать о приемнике, а модули 2 и 3 ничего не требуют от отправителя. Существует только общая структура сообщений.
Это работает отлично, и модули взаимно независимы.