راکت

Model boot

5 پاسخ

@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);
        });
    }
}
ثبت پرسش جدید

پاسخ‌ها

5
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

ftp
ftp
@ftp

تخصص: ساده

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

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

ftp
ftp
@ftp

تخصص: ساده

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

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

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


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

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

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