Maison > cadre php > Laravel > le corps du texte

Analyser le principe de fonctionnement du système d'événements Laravel

藏色散人
Libérer: 2021-12-29 14:46:06
avant
2119 Les gens l'ont consulté

La colonne tutorielle suivante de Laravel vous présentera le principe de fonctionnement du système d'événements Laravel. J'espère qu'elle sera utile à tout le monde !

Inscrivez-vous dans EventServiceProvider (app/Providers/EventServiceProvider.php)

protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
        ],
        'App\Events\Test' => [
            'App\Listeners\EventListener',
        ],
    ];
Copier après la connexion

Utilisez la ligne de commande pour générer des événements et des auditeurs

$ php artisan event:generate
Copier après la connexion

Deux fichiers seront générés à ce moment

1 App. /Events/Test.php (event)

edit event

<?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');
  }}
Copier après la connexion

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

edit listeninger

<?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;
 }}
Copier après la connexion

déclenché dans le contrôleur Events

public function test1(){
 event(new Test('11111111'));
 return '测试事件系统';}
Copier après la connexion

Commandes communes

php artisan event:generate
php artisan make:event UserRegisteredEvent
php artisan make:listener SendMailListener --event="UserRegisteredEvent"
Copier après la connexion

Recommandations associées :Les cinq derniers didacticiels vidéo Laravel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal