The following tutorial column from Laravel will introduce you to the operating principles of the Laravel event system. I hope it will be helpful to you!
protected $listen = [ Registered::class => [ SendEmailVerificationNotification::class, ], 'App\Events\Test' => [ 'App\Listeners\EventListener', ], ];
$ php artisan event:generate
<?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'); }}
<?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"
Related recommendations:The latest five Laravel video tutorial
The above is the detailed content of Analyze the operating principle of Laravel event system. For more information, please follow other related articles on the PHP Chinese website!