تالار گفتمان nCIS.ir

نسخه‌ی کامل: تعریف سناریو چرا و چطور؟
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام استاد

لطفا در مورد تعریف سناریو و نحوه استفادش توضیح بدین.

متشکرم.
سناریو مشخص میکنه شما از مدل میخواین برای چه کاری استفاده کنین. مثلاً ممکنه بخواین یک فیلد خاص (مثل رمز عبور)، فقط موقع ثبت نام ضروری باشه و موقع تغییر رمز، اجباری نباشه. خوب در اینجور موارد، میتونید چنین رولی بنویسید:
array('password', 'required', 'on' => 'register'),
و موقعی که میخواین یک مدل جدید بسازین (توی اکشن ثبت نام)، این شکلی مدل رو میسازین:
$model = new Users('register');
یا اگه مدل رو ساختین (یا از دیتابیس با find خوندین) و حالا میخواین سناریو رو عوض کنید، این شکلی مینویسید:
$model->scenario = 'register';
اینطوری، فقط ولیدیشن رولهایی که کلی هستن و با except، سناریوی register رو ازشون جدا نکردین بهش اعمال میشه. ولیدیشن رولهایی هم که با on اونها رو روی register تنظیم کردین، فقط وقتی کار میکنن که سناریوی مدل رو روی register قرار داده باشین.