如何在Laravel4中调用观察者?

时间:2016-12-28 20:05:50

标签: php laravel laravel-4 observer-pattern

我正在尝试在Laravel 4中创建一个日志系统,只要模型执行保存,更新或删除,我就可以将其记录到数据库中。但是在阅读完这样的教程之后我很困惑:

https://bosnadev.com/2014/12/28/laravel-model-observers/

观察员如何打电话?模型如何知道何时开火?我对实施工作感到困惑。

1 个答案:

答案 0 :(得分:0)

即使在Laravel 4中,您也可以使用它自己的观察员来完成这些功能:

<?php 

namespace App;

use Illuminate\Database\Eloquent\Model as Eloquent;

class BaseModel extends Eloquent
{
    public function __construct(array $attributes = [])
    {
        parent::__construct($attributes);

        $this->saving(function() {
            \Log::info('saving model '.get_class($this));
        });

        $this->updating(function() {
            \Log::info('updating model '.get_class($this));
        });

        $this->deleteing(function() {
            \Log::info('deleteing model '.get_class($this));
        });
    }
}

您还拥有已保存,更新和删除的观察员。