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

资源:

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 documentation on model events

10-03 00:34