Сценарии Scenario
- malammadre
- Сообщения: 33
- Зарегистрирован: 2013.08.08, 19:33
Сценарии Scenario
Объясните пожалуйста простыми словами что такое сценарии в Yii, (Сценарии - это то-то то-то).. Нигде не смог найти норм. объяснения,,, Зачем они нужны и Как их использовать? Заранее спасибо
Re: Сценарии Scenario
Агрегатор цен на услуги хостинга - https://hostcost.net
Re: Сценарии Scenario
Сценарий - это вещь, которая определяет как себя будет вести модель.
Сценарии можно использовать по-разному. Одна из очень опасных вещей, про которые многие забывают -- это 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
Сценарии можно использовать по-разному. Одна из очень опасных вещей, про которые многие забывают -- это 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
Спасибо за ответы ) HQ0, спасибо что накатал ) и разложил )