Сценарии Scenario

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
malammadre
Сообщения: 33
Зарегистрирован: 2013.08.08, 19:33

Сценарии Scenario

Сообщение malammadre »

Объясните пожалуйста простыми словами что такое сценарии в Yii, (Сценарии - это то-то то-то).. Нигде не смог найти норм. объяснения,,, Зачем они нужны и Как их использовать? Заранее спасибо
Аватара пользователя
howard
Сообщения: 528
Зарегистрирован: 2012.11.16, 18:55
Откуда: Україна, Вінниця

Re: Сценарии Scenario

Сообщение howard »

Агрегатор цен на услуги хостинга - https://hostcost.net
HQ0
Сообщения: 182
Зарегистрирован: 2012.10.17, 17:21

Re: Сценарии Scenario

Сообщение HQ0 »

Сценарий - это вещь, которая определяет как себя будет вести модель.
Сценарии можно использовать по-разному. Одна из очень опасных вещей, про которые многие забывают -- это mass-assignment. Полезная и крутая штука, которая может и нанести вред.
Например, мы написали форму которая изменяет у модели только поле title у модели Post. Получается в форме сейчас есть input, где name=Post[title]...
Инспектором добавляем input[name="Post[user_id]"] и сможем послать вместе с title еще и данные о юзере, который изначально создал. Так мы можем присвоить этот Post себе.

Так вот о чем это я. Сценарии могут помочь там решить эту проблему. Когда мы создаем модельку для формы указываем её сценарий, new Post('only_title'), в методе rules модели указываем: если сценарий - only_title, то только title safe.


Gii, когда генерирует модель создает запись в rules, где перечисляет все поля, делает их safe и всё это будет работать, только если сценарий search.


ну вот, накатал телегу, а тут просто ссылку скинули... ну не пропадать же добру : D
Аватара пользователя
malammadre
Сообщения: 33
Зарегистрирован: 2013.08.08, 19:33

Re: Сценарии Scenario

Сообщение malammadre »

Спасибо за ответы ) HQ0, спасибо что накатал ) и разложил )
Ответить