La chronique suivante présentera les événements et les observateurs dans laravel de la colonne tutoriel laravel J'espère qu'elle sera utile aux amis dans le besoin !
1 : Événements et auditeurs
Événement est un terme relativement large, il peut représenter une action entreprise. Ce qui apparaît avec l'événement est l'écouteur, qui est utilisé pour surveiller ce que vous faites et pour effectuer un traitement ultérieur sur votre comportement.
Le système d'événements constitue un excellent moyen de découpler différents aspects de l'application, car un seul événement peut avoir plusieurs auditeurs indépendants les uns des autres. Par exemple, vous souhaiterez peut-être envoyer une notification à l'utilisateur chaque fois qu'une commande est expédiée. Au lieu de coupler le code de traitement des commandes au code de notification, vous pouvez écrire un événement écoutable.
Événements :
Si le framework Laravel souhaite créer des événements, vous pouvez les créer avec la commande suivante :
php artisan make:event 事件名称
Le fichier sera stocké dans le répertoire app/Events.
Listener :
La création d'un auditeur peut être créée à l'aide de la commande suivante :
php artisan make:listener 监听器名称
Inscription :
Une fois l'événement et l'auditeur créés, ils doivent être combinés. Nous pouvons l'enregistrer auprès du fournisseur de services EventServiceProvider. Comme suit :
protected $listen = [ 事件名称 => [ 监听器名称, . ], ];
Distribution
event(new TestEvent());
Deux : Événements de modèle
Les événements de modèle sont des fonctions supplémentaires ajoutées spécifiquement pour les modèles. Il crée pour nous des événements et des auditeurs correspondants. Lors de l'utilisation d'événements de modèle, nous devons respecter les règles qui nous sont données par le modèle :
Liaison obligatoire
protected $dispatchesEvents = [ 'saving' => \App\Events\TestEvent::class, // 'updated' => \App\Events\TestEvent::class, ];
3 au niveau du modèle : l'événement observateur
doit être associé à l'auditeur. Lorsqu'il y a plus d'auditeurs, nous devons le faire. les enregistrer et les mettre en œuvre, ce qui sera plus gênant, nous pouvons envisager d'utiliser des observateurs . Si vous écoutez plusieurs événements sur un modèle, vous pouvez utiliser des observateurs pour organiser ces auditeurs dans une classe distincte.
Utilisation des observateurs :
Les observateurs peuvent être créés à l'aide de la commande suivante :
php artisan make:observer
Si vous souhaitez vous associer directement au modèle, vous pouvez également ajouter directement des paramètres à associer au modèle :
php artisan make:observer UserObserver --model=User
Inscription de l'observateur :
Inscrivez-vous
User::observe(UserObserver::class);
dans le prestataire ou inscrivez-vous
public static function booted() { self::observe(UserObserver::class); }
dans le modèle
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!