Зачем нужны события
Зачем нужны события
Не могу понять зачем и кода пригождаются события, объясните на примере реально существующей проблемы..
Re: Зачем нужны события
Например: есть база данных со ссылками на картинки. Так вот, на событие при удаление ссылки из базы, можно повесить функцию удаления файла с диска. И т.д.
Re: Зачем нужны события
Ну, это можно и без событий сделать, сразу в модели, разве нет?diselop писал(а):Например: есть база данных со ссылками на картинки. Так вот, на событие при удаление ссылки из базы, можно повесить функцию удаления файла с диска. И т.д.
Re: Зачем нужны события
В модели создать функцию на удаление файла, и при удалении ее вызывать?
Re: Зачем нужны события
ну даdiselop писал(а):В модели создать функцию на удаление файла, и при удалении ее вызывать?
Re: Зачем нужны события
Можно, но допустим картинку может удалить: пользователь, админ и т.д. И каждый раз вызывать функцию? Можно упустить где-нибудь, а так повесил событие и можно не париться об этом.
Re: Зачем нужны события
Когда одно действие может вызваться с разных action'ов.
Re: Зачем нужны события
хм, полезно, спасибоdiselop писал(а):Можно, но допустим картинку может удалить: пользователь, админ и т.д. И каждый раз вызывать функцию? Можно упустить где-нибудь, а так повесил событие и можно не париться об этом.
Re: Зачем нужны события
Да не за что!Еугений писал(а): хм, полезно, спасибо
Re: Зачем нужны события
А если в бд есть триггеры, то зачем события нужны?
Re: Зачем нужны события
Ну не все же события связаны с бд, например:Антон писал(а):А если в бд есть триггеры, то зачем события нужны?
Код: Выделить всё
beforeValidate()
Re: Зачем нужны события
Ну а когда лучше использовать например afterSave на фреймворке чем триггером в бд?
Re: Зачем нужны события
Например при работе с файловой системой.Антон писал(а):Ну а когда лучше использовать например afterSave на фреймворке чем триггером в бд?
Re: Зачем нужны события
Или например у вас используется mysql в качестве основной базы, а логгирование, допустим, идет в mongodb. Тогда на эти событие вешать запись логов.
Re: Зачем нужны события
ну на событие необязательно вешать взаимодействие с БД. Например после каждого сохранения слать уведомление на мыло. Тригером тут не справишься.Антон писал(а):Ну а когда лучше использовать например afterSave на фреймворке чем триггером в бд?