简述
事件提供了一个简单的观察者实现,允许用户订阅和侦听 Web 应用程序中触发的各种事件。Laravel 中的所有事件类都存储在app/Events文件夹和监听器存储在app/Listeners文件夹。
用于在 Web 应用程序中生成事件和侦听器的 artisan 命令如下所示 -
如上所述,此命令生成相应文件夹的事件和侦听器。
事件和侦听器是一种解耦 Web 应用程序的好方法,因为一个事件可以有多个彼此独立的侦听器。artisan 命令创建的 events 文件夹包含以下两个文件:event.php 和 SomeEvent.php。它们显示在这里 -
Event.php
正如刚才提到的,event.php包括类的基本定义Event并调用命名空间App\Events。请注意,用户定义或自定义事件是在此文件中创建的。
SomeEvent.php
请注意,该文件使用序列化来广播 Web 应用程序中的事件,并且必要的参数也在该文件中进行了初始化。
例如,如果我们需要在构造函数中初始化 order 变量来注册事件,我们可以通过以下方式完成:
听众
侦听器处理正在注册的事件中提到的所有活动。工匠命令event:generate创造了所有的listeners在里面app/listeners目录。Listeners 文件夹包含一个文件EventListener.php它具有处理侦听器所需的所有方法。
事件监听器.php
正如代码中提到的,它包括handle管理各种事件的功能。我们可以创建针对单个事件的各种独立侦听器。