سلام
درمورد boot متدی هست که داخل اون میتونیم رفتار مدل رو تغییر بدیم
فرض کنید فیلدی به اسم order_id داریم که میخوایم وقتی مدل سیو شد به صورت رندوم مقدار بگیره میتونیم داخل boot این کار را انجام بدیم یا میتونیم listenter روی event ها مدل قرار بدیم یا ...
protected static function boot() {
parent::boot();
static::creating(function ($order) {
});
}
اگر Model لاراول رو بررسی کنیم داخل متد __construct متدی به اسم bootIfNotBooted صدا زده شده
که اگر توضیحات و کدهاش رو ببینیم چک میکنه که اگر قبلا این مدل بوت نشده بود عملیات بوت این مدل را انجام بده
قبل از boot متد bootig و بعد از boot متد booted صدا زده میشه
که اگر به کدهای زیر دقت کنید خود متد boot متدی به نام bootTraits صدا میزنه که وظیفه ی بوت کردن تمام trait های مدل رو داره
/**
* Check if the model needs to be booted and if so, do it.
*
* @return void
*/
protected function bootIfNotBooted()
{
if (! isset(static::$booted[static::class])) {
static::$booted[static::class] = true;
$this->fireModelEvent('booting', false);
static::booting();
static::boot();
static::booted();
$this->fireModelEvent('booted', false);
}
}
/**
* Perform any actions required before the model boots.
*
* @return void
*/
protected static function booting()
{
//
}
/**
* Bootstrap the model and its traits.
*
* @return void
*/
protected static function boot()
{
static::bootTraits();
}
/**
* Perform any actions required after the model boots.
*
* @return void
*/
protected static function booted()
{
//
}
سلام
درمورد boot متدی هست که داخل اون میتونیم رفتار مدل رو تغییر بدیم
فرض کنید فیلدی به اسم order_id داریم که میخوایم وقتی مدل سیو شد به صورت رندوم مقدار بگیره میتونیم داخل boot این کار را انجام بدیم یا میتونیم listenter روی event ها مدل قرار بدیم یا ...
protected static function boot() {
parent::boot();
static::creating(function ($order) {
});
}
اگر Model لاراول رو بررسی کنیم داخل متد __construct متدی به اسم bootIfNotBooted صدا زده شده
که اگر توضیحات و کدهاش رو ببینیم چک میکنه که اگر قبلا این مدل بوت نشده بود عملیات بوت این مدل را انجام بده
قبل از boot متد bootig و بعد از boot متد booted صدا زده میشه
که اگر به کدهای زیر دقت کنید خود متد boot متدی به نام bootTraits صدا میزنه که وظیفه ی بوت کردن تمام trait های مدل رو داره
/**
* Check if the model needs to be booted and if so, do it.
*
* @return void
*/
protected function bootIfNotBooted()
{
if (! isset(static::$booted[static::class])) {
static::$booted[static::class] = true;
$this->fireModelEvent('booting', false);
static::booting();
static::boot();
static::booted();
$this->fireModelEvent('booted', false);
}
}
/**
* Perform any actions required before the model boots.
*
* @return void
*/
protected static function booting()
{
//
}
/**
* Bootstrap the model and its traits.
*
* @return void
*/
protected static function boot()
{
static::bootTraits();
}
/**
* Perform any actions required after the model boots.
*
* @return void
*/
protected static function booted()
{
//
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟