Rumah > pembangunan bahagian belakang > tutorial php > Laravel 的 Events 及 Observers(四)

Laravel 的 Events 及 Observers(四)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-20 12:30:26
asal
950 orang telah melayarinya

我同意,模型事件非常酷,然而,有时候,你需要一些更高级的东西。

当你使用 Laravel 的时候,你基本上就是在使用面向对象编程,你可能需要做一些与模型事件相同的事,那就是模型观察者 — 一个模型事件的高级版本。

要使用它,你需要做的就是像下面这样声明一个新的类(可以放在一个叫做 observers的专用文件夹中):

1

class BookObserver {    public function creating($book)    {      // I want to create the $book book, but first...    }      public function saving($book)      {          // I want to save the $book book, but first...      }      public function saved($book)      {          // I just saved the $book book, so....      }  }

Salin selepas log masuk

然后在 EventServiceProvider类的 boot()方法中这样注册它:

1

Book::observe(new BookObserver);

Salin selepas log masuk

这个理的概念和前面都是相同的,没什么新的东西。通过观察者,你也可以使用前面模型事件中学到的每一个单独的概念。你可以声明任何你想要的方法,然后只需要使用事件标示符绑定一个特定的事件。因此, creating事件是与 creating()方法相关的,以此类推。

很明显,你可以在前置方法中终止该操作,比如说 createing()和 updating():

1

class BookObserver {    public function creating($book)    {      $somethingGoesWrong = true;      if($somethingGoesWrong)      {        return false;      }    }  }

Salin selepas log masuk

好了,下面我们来看一些模型观察者的例子。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan