Heim > PHP-Framework > Laravel > Analysieren Sie das Funktionsprinzip des Laravel-Ereignissystems

Analysieren Sie das Funktionsprinzip des Laravel-Ereignissystems

藏色散人
Freigeben: 2021-12-29 14:46:06
nach vorne
2139 Leute haben es durchsucht

Die folgende Tutorial-Kolumne von Laravel wird Ihnen das Funktionsprinzip des Laravel-Ereignissystems vorstellen. Ich hoffe, es wird für alle hilfreich sein!

Registrieren Sie sich in EventServiceProvider (app/Providers/EventServiceProvider.php)

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

Verwenden Sie die Befehlszeile, um Ereignisse und Listener zu generieren

Zwei Dateien werden zu diesem Zeitpunkt generiert

1 App /Events/Test.php (Ereignis)

Ereignis bearbeiten
$ php artisan event:generate
Nach dem Login kopieren

2, app/Listeners/EmailVerified.php (Listener)

Listener bearbeiten
<?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 &#39;触发事件成功!---------&#39;.$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');
  }}
Nach dem Login kopieren

Ereignisse

<?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 &#39;监听成功!监听值:&#39;.$event->id;
 }}
Nach dem Login kopieren

Allgemeine Befehle

public function test1(){
 event(new Test('11111111'));
 return '测试事件系统';}
Nach dem Login kopieren
Verwandte Empfehlungen:

Die neuesten fünf Laravel-Video-Tutorials

Das obige ist der detaillierte Inhalt vonAnalysieren Sie das Funktionsprinzip des Laravel-Ereignissystems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage