Rumah >rangka kerja php >Laravel >Laravel - Pengendalian Acara

Laravel - Pengendalian Acara

王林
王林asal
2024-08-27 10:50:391051semak imbas

Acara menyediakan pelaksanaan pemerhati mudah yang membolehkan pengguna melanggan dan mendengar pelbagai acara yang dicetuskan dalam aplikasi web. Semua kelas acara dalam Laravel disimpan dalam folder app/Events dan pendengar disimpan dalam folder app/Listeners.

Arahan artisan untuk menjana acara dan pendengar dalam aplikasi web anda ditunjukkan di bawah −

 php artisan event:generate

Arahan ini menjana acara dan pendengar ke folder masing-masing seperti yang dibincangkan di atas.

Event Generator

Acara dan Pendengar memberikan cara terbaik untuk memisahkan aplikasi web, kerana satu acara boleh mempunyai berbilang pendengar yang bebas antara satu sama lain. Folder peristiwa yang dicipta oleh perintah artisan termasuk dua fail berikut: event.php dan SomeEvent.php. Mereka ditunjukkan di sini −

Event.php

<?php
ruang nama AppEvents;
Acara kelas abstrak{
   //
}

Seperti yang dinyatakan di atas, event.php termasuk takrifan asas kelas Event dan panggilan untuk ruang nama AppEvents. Sila ambil perhatian bahawa acara yang ditentukan pengguna atau tersuai dibuat dalam fail ini.

SomeEvent.php

<?php

ruang nama AppEvents;

gunakan AppEventsEvent;
gunakan IlluminateQueueSerializesModels;
gunakan IlluminateContractsBroadcastingShouldBroadcast;

kelas SomeEvent melanjutkan Acara{
   gunakan SerializesModels;
   /**      * Buat             tika    baharu .
      *
      * @pemulangan tidak sah
   */
   
   public function __construct() {
      //
   }
   
   /**      * Dapatkan saluran yang acara sepatutnya disiarkan .
      *
      * @return tatasusunan
   */
   
   fungsi awam broadcastOn() {
      kembali [];
   }
}

Perhatikan bahawa fail ini menggunakan bersiri untuk penyiaran acara dalam aplikasi web dan bahawa parameter yang diperlukan juga dimulakan dalam fail ini.

Sebagai contoh, jika kita perlu memulakan pembolehubah pesanan dalam pembina untuk mendaftarkan acara, kita boleh lakukan dengan cara berikut −

fungsi awam __build(Pesan $order) {
   $this->order = $order;
}

Pendengar

Pendengar mengendalikan semua aktiviti yang dinyatakan dalam acara yang sedang didaftarkan. Perintah artisan event:generate mencipta semua pendengar dalam direktori app/pendengar. Folder Listeners termasuk fail EventListener.php yang mempunyai semua kaedah yang diperlukan untuk mengendalikan pendengar.

EventListener.php

<?php

ruang nama AppListeners;

gunakan AppEventsSomeEvent;
gunakan IlluminateQueueInteractsWithQueue;
gunakan IlluminateContractsQueueShouldQueue;

kelas EventListener{
   /**      * Buat pendengar acara.
      *
      * @pemulangan tidak sah
   */
   
   public function __construct() {
      //
   }

   /**      * Kendalikan acara.
      *
      * @param SomeEvent $event
      * @pemulangan tidak sah
   */
   
   pemegang fungsi awam(SomeEvent $event) {
      //
   }
}

Seperti yang dinyatakan dalam kod, ia termasuk fungsi handle untuk menguruskan pelbagai acara. Kami boleh mencipta pelbagai pendengar bebas yang menyasarkan satu acara.

Atas ialah kandungan terperinci Laravel - Pengendalian Acara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Laravel - Pengendalian RalatArtikel seterusnya:Laravel - Pengendalian Ralat