Events 提供了一个简单的观察者实现,允许用户订阅和监听 Web 应用程序中触发的各种事件。 Laravel 中的所有事件类都存储在app/Events文件夹中,监听器存储在app/Listeners文件夹中。
用于在 Web 应用程序中生成事件和监听器的 artisan 命令如下所示 -
php artisan event:generate
此命令将事件和侦听器生成到上面讨论的各个文件夹。
事件和侦听器是解耦 Web 应用程序的一种好方法,因为一个事件可以有多个独立的侦听器彼此的。 artisan 命令创建的 events 文件夹包含以下两个文件:event.php 和 SomeEvent.php。它们显示在这里 -
登录后复制
如上所述,event.php包含类Event的基本定义以及对命名空间AppEvents的调用。请注意,用户定义或自定义事件是在此文件中创建的。
登录后复制
观察该文件在 Web 应用程序中使用序列化来广播事件,并且必要的参数也在该文件中初始化。
例如,如果我们需要在构造函数中初始化 order 变量来注册事件,我们可以按以下方式执行 -
public function __construct(Order $order) { $this->order = $order; }
监听器处理正在注册的事件中提到的所有活动。 artisan 命令event:generate在app/listeners目录中创建所有listeners。 Listeners 文件夹包含一个文件EventListener.php,其中包含处理侦听器所需的所有方法。
登录后复制
代码中提到,它包含handle用于管理各种事件的函数。我们可以创建针对单个事件的各种独立侦听器。
以上是Laravel - 事件处理的详细内容。更多信息请关注PHP中文网其他相关文章!