Laravel Eloquent 模型覆盖静态引导方法
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
本身(如果当前 class 中不存在父 classes)。所以它本质上是在做同样的事情:
Menu::saving(function($post){
});
所以它正在为启动函数中的 saving
事件注册回调。
我想覆盖模型事件并找到了这个示例代码,但不确定我是否完全理解它。
来源:
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
本身(如果当前 class 中不存在父 classes)。所以它本质上是在做同样的事情:
Menu::saving(function($post){
});
所以它正在为启动函数中的 saving
事件注册回调。