سلام خوش آمدید. دوست عزیز
Behaviors یا رفتار کننده ها در واقع یک کلاس از نوع model ها هستند. و نقش یک فیلتر رو بازی میکنند.
با ذکر یک مثال توضیح میدم.
فرضا کنید شما یک فرم رو دارید سیو میکنید.
در هر مدل قبل از این که عملیات curd یک سری متد وجود داره که کالبک نامیده میشه .این متد ها در اصل قبل و بعد از هر کدام از متد های curd فراخوانی می شوند. مانند afterSave,BeforeSave
خوب حالا ما نیاز داریم یک سری فیلتر ایجاد کنیم. یکی از این فیلتر ها به این صورت عمل میکنه که هر گونه متن فارسی که میخواهد سیو شود رو ببرسی کنه اگر حروف عربی داخلش بود اون رو به حروف فارسی تبدیل کنه مثل ي یا ک ...
خوب اگر قرار باشه من برای هر مدل بیام این کدهام رو اضافه کنم که نمییشه.
اینجا میام یک رفتار کننده مینویسم. و اون رو به مودل هام اضافه میکنم.
همینطور که گفتم رفتار کننده همانند مدل هست ساختارش . با این تفاوت که قبل از اینکه داده به مدل برسه اول به رفتار کننده ها ارسال میشه و بعد به مدل میرسه.
یعنی اگر درخواست من save باشه درخواست به صورت زیر اجرا میشه
کد PHP:
1-model -> afterSave[behaviors] -> afterSave[model] -> save[model]
به این صورت شما توسعه دادید کارتون رو و کیک رو برای پروژه های خودتون