ftp
4 سال پیش توسط ftp مطرح شد
5 پاسخ

Model boot

@khanzadimahdi
متدد Model boot() رو میشه توضیح بدید اینم مثالش

class User extends Model
{
    public static function boot()
    {
        parent::boot();
        static::updating(function($model)
        {
            // do some logging
            // override some property like $model->something = transform($something);
        });
    }
}

ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

برای استفاده از رویدادها در مدل ها از متد Boot استفاده میشه


ftp
تخصص : ساده
@ftp 4 سال پیش مطرح شد
0

@ali.bayat
کاربردش چیه میشه بیشتر توضیح بدید


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

اِوِنت مدل ها به شما این امکان رو میده به نقاط مختلف در انواع چرخه های عمر مدل های لاراول وارد شوید و کاری میخاهید به صورت تابع callback فراخوانی کنید(حتی وقتی مدل در حال ذخیره و یا حذف شدنه)

دقیقا مثل اِوِنت ها و لیسنر های معمولی در لاراول. با این تفاوت که این اِوِنت ها مربوط به چرخه حیات مدل‌ها هستند


ftp
تخصص : ساده
@ftp 4 سال پیش مطرح شد
0

@ali.bayat
علی اقا من متوجه نشدم میشه منبع معرفی کنید یا یک مثال عملی بزنید من متوجه بشم


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

مدل ها در لاراول از الکوئنت ارث بری میکنند... الکوئنت هم یه سری رویدادهای مخصوص خودشو داره... مثلا وقتی به شکل زیر:

Post::create(['title' => 'my title']);

یا هر حالت دیگه
شما یه Post جدید میسازید
یه رویداد به نام created اجرا میشه

مدیریت این رویداد در متد boot اتفاق میفته


مثلا در کدی که گذاشتین از updating استفاده شده. پس هر وقت یک کاربر رو ویرایش کنید کدهای داخل کلوژر (do some logging) اجرا میشند.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام