开发手册 欢迎您!
软件开发者资料库

Laravel - 事件处理

Laravel事件处理 - 从简单和简单的步骤学习Laravel,从基本到高级概念,包括概述,安装,应用程序结构,配置,路由,中间件,命名空间,控制器,请求,Cookie,响应,视图,刀片模板,重定向,使用数据库,错误和日志记录,表单,本地化,会话,验证,文件上传,发送电子邮件,Ajax,错误,事件处理,外墙,安全,合同,CSRF保护,身份验证,授权,工匠控制台,加密,哈希,了解发布流程。

事件提供了一个简单的观察器实现,允许用户订阅和监听Web应用程序中触发的各种事件. Laravel中的所有事件类都存储在 app/Events 文件夹中,并且侦听器存储在 app/Listeners 文件夹中.

用于在Web应用程序中生成事件和侦听器的artisan命令显示在下面 :

php artisan event:generate

如上所述,此命令生成相应文件夹的事件和侦听器.

事件生成器

事件和监听器是解耦Web应用程序的好方法,因为一个事件可以有多个彼此独立的监听器. artisan命令创建的events文件夹包含以下两个文件:event.php和SomeEvent.php.它们显示在这里 :

Event.php

如上所述, event.php 包括类事件的基本定义,并调用命名空间 App\Events .请注意,用户定义或自定义事件是在此文件中创建的.

SomeEvent.php

观察到此文件使用序列化来在Web应用程序中广播事件,并且必要的参数也在这个文件.

例如,如果我们需要在构造函数中初始化order变量来注册一个事件,我们可以用以下方式来做去;

public function __construct(Order $order) {   $this->order = $order;}

监听器

监听器处理正在注册的事件中提到的所有活动. artisan命令 event:generate app/listeners 目录中创建所有监听器. Listeners文件夹包含一个文件 EventListener.php ,其中包含处理侦听器所需的所有方法.

EventListener.php

如代码中所述,它包含 handle 功能,用于管理各种事件.我们可以创建针对单个事件的各种独立侦听器.