Laravel 雄辩模型覆盖静态引导方法


Laravel Eloquent model overriding static boot method

我想覆盖模型事件并找到此示例代码,但不确定我是否完全理解它。

源:

http://driesvints.com/blog/using-laravel-4-model-events/

有一个静态方法

,里面有另一个静态方法...这是怎么回事?还是以某种方式在引导方法中设置静态属性?

<?php
class Menu extends Eloquent {
    protected $fillable = array('name', 'time_active_start', 'time_active_end', 'active');
    public $timestamps = false;
    public static $rules = array(
        'name' => 'required',
        'time_active_start' => 'required',
        'time_active_end' => 'required'
    );
   public static function boot()
   {
       parent::boot();
       static::saving(function($post)
       {
       });       
   }    
}

static::saving()只是调用静态方法saving自身(如果当前类中不存在,则调用父类)。因此,它本质上与以下操作相同:

Menu::saving(function($post){
});

因此,它在引导函数中注册saving事件的回调。

关于模型事件的Laravel文档