php教程 解析Laravel事件系统的运行原理

 所属分类:php教程

 浏览:132次-  评论: 0次-  更新时间:2022-06-01
描述:这是一篇php教程 解析Laravel事件系统的运行原理的说明内容,如果你想学习查找类似的文章,可以进入php教程获得最新优质资料。 下面由Lara...
这是一篇php教程 解析Laravel事件系统的运行原理的说明内容,如果你想学习查找类似的文章,可以进入php教程获得最新优质资料。 下面由Laravel教程栏目给大家介绍关于Laravel事件系统的运行原理,希望对大家有所帮助!

在 EventServiceProvider 里注册(app/Providers/EventServiceProvider.php)

protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
        ],
        'App\Events\Test' => [
            'App\Listeners\EventListener',
        ],
    ];

使用命令行来生成事件与监听器

$ php artisan event:generate

此时将生成两个文件

1、App/Events/Test.php(事件)

编辑事件

<?php

namespace App\Events;use App\Models\User;use Illuminate\Broadcasting\Channel;use Illuminate\Broadcasting\InteractsWithSockets;use Illuminate\Broadcasting\PresenceChannel;use Illuminate\Broadcasting\PrivateChannel;use Illuminate\Contracts\Broadcasting\ShouldBroadcast;use Illuminate\Foundation\Events\Dispatchable;use Illuminate\Queue\SerializesModels;class Test{
  use Dispatchable, InteractsWithSockets, SerializesModels;

  /**
 * Create a new event instance. * * @return void
 */  public function __construct($id)
 {  
     echo '触发事件成功!---------'.$id;
     $this->id = $id;
  }

  /**
 * Get the channels the event should broadcast on. * * @return \Illuminate\Broadcasting\Channel|array
 */  public function broadcastOn()
 {  return new PrivateChannel('channel-name');
  }}

2、app/Listeners/EmailVerified.php(监听器)

编辑监听器

<?php

namespace App\Listeners;
use App\Events\Test;use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
class EventListener{
  /**
 * Create the event listener. * * @return void
 */  public function __construct()
 {  //
  }

  public function handle(Test $event)
 {  
     echo '监听成功!监听值:'.$event->id;
 }}

在控制器中触发事件

public function test1(){
 event(new Test('11111111'));
 return '测试事件系统';}

常用命令

php artisan event:generate
php artisan make:event UserRegisteredEvent
php artisan make:listener SendMailListener --event="UserRegisteredEvent"

相关推荐:最新的五个Laravel视频教程

以上就是解析Laravel事件系统的运行原理的详细内容,更多请关注zzsucai.com其它相关文章!

 标签:
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!