handled события и дальнейшее выполнение

Уже исправленные репорты или принятые предложения
Закрыто
Yiivgeny
Сообщения: 80
Зарегистрирован: 2010.11.24, 10:39

handled события и дальнейшее выполнение

Сообщение Yiivgeny »

Приветствую.

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

Дело в том, что метод CComponent::raiseEvent() не предоставляет никакой информации о выполненных действиях, и соответственно невозможно изменить дальнейшую работу кода.

Например, переопределив CActiveRecord::beforeDelete() и вернув false, можно остановить дальнейшие выполнение delete, а вот назначив этому методу хендлер события, этого сделать уже нельзя. Нелогично, ведь оба способа в принципе делают одно и тоже. Проблема в том что не всегда можно переопределить класс, а хочется использовать такую замечательную вещь как behavior, а это невозможно по описанным причинам, соответственно внедрение кода нехило усложняется.
mrix
Сообщения: 125
Зарегистрирован: 2010.08.30, 11:48
Откуда: Россия, Новосибирск

Re: handled события и дальнейшее выполнение

Сообщение mrix »

Yiivgeny
Сообщения: 80
Зарегистрирован: 2010.11.24, 10:39

Re: handled события и дальнейшее выполнение

Сообщение Yiivgeny »

И? В заголовке темы я указал, мне известно об этом свойстве.
Я и говорю о том, чтобы я не установил в него исполнение ДЕЙСТВИЯ не поменяется, можно вырубить только оставшиеся обработчики события, а не само действие ассоциированное с событием.
Yiivgeny
Сообщения: 80
Зарегистрирован: 2010.11.24, 10:39

Re: handled события и дальнейшее выполнение

Сообщение Yiivgeny »

Понятно что половину фреймворка переписывать никто не будет, но возможность такую для новых событий (в т.ч.) для кода пользователей добавить нужно.
mrix
Сообщения: 125
Зарегистрирован: 2010.08.30, 11:48
Откуда: Россия, Новосибирск

Re: handled события и дальнейшее выполнение

Сообщение mrix »

Действие save остановится, если поменять в событии onBeforeSave CModelEvent::isValid
Yiivgeny
Сообщения: 80
Зарегистрирован: 2010.11.24, 10:39

Re: handled события и дальнейшее выполнение

Сообщение Yiivgeny »

И действительно. Теперь понятно как реализовывать для новых событий.
Спасибо.
Закрыто