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.
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 −
<?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.
<?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 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.
<?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!