Laravel 5.8.9: Automatic Event/Listener Discovery 🔥🔥🔥
🔥🔥🔥 Trong bản cập nhật Laravel 5.8.9 này thì có một tính năng mới được thêm vào đó là Automatic Event/Listener Discovery 🔥🔥🔥
Mục đích
Không còn cần thiết phải đăng ký thủ công các sự kiện (events) và trình lắng nghe (listeners) trong EventServiceProvider
.
Cách kích hoạt
Trong file app/Providers/EventServiceProvider.php
thêm function sau để kích hoạt
/**
* Determine if events and listeners should be automatically discovered.
*
* @return bool
*/
public function shouldDiscoverEvents()
{
return true;
}
Cách hoạt động
Nó sẽ tự động dò tìm các file listener trong thư mục app/Listeners, mỗi khi có sự kiện gì phát sinh, toàn bộ các Listeners này sẽ lắng nghe và giải quyết. Các method public handle hoặc bắt đầu bằng handle sẽ được thực thi.
Mặc định thư mục app/Listeners, nếu muốn đăng ký thêm thư mục khác thì thêm fuction này vào app/Providers/EventServiceProvider.php
/**
* Get the listener directories that should be used to discover events.
*
* @return array
*/
protected function discoverEventsWithin()
{
return [
$this->app->path('Listeners'),
$this->app->path('OtherListeners'),
// ...
];
}
Làm thế nào Listeners bắt đùng Event?
Tạo một file Listener: php artisan make:listener ChungNguyenBlogListener
<?php
namespace App\Listeners;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class ChungNguyenBlogListener
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
// code
}
/**
* Handle the event.
*
* @param object $event
* @return void
*/
public function handle(DefaultEvent $event)
{
//
}
/**
* Handle the event.
*
* @param object $event
* @return void
*/
public function handleEvent1(Event1 $event)
{
// code
}
/**
* Handle the event.
*
* @param object $event
* @return void
*/
public function handleEvent2(Event2 $event)
{
// code
}
}
Command cho Event/Listener Discovery
Show list events
php artisan event:list
Cache
Chạy lệnh này trên môi trường Production nha
php artisan event:cache
Hết òy, like đi 😁
🙄🙄🙄🙄🙄🙄
Ủng hộ Chung Nguyễn Blog
Chung Nguyễn Blog sử dụng FlashVPS - Dịch vụ quản trị máy chủ chuyên nghiệp để quản lý VPS
#FlashVPS là dịch vụ cloud panel trên nền tảng web hỗ trợ khách hàng:
- * Quản lý máy chủ số lượng nhiều
- * Không có kinh nghiệm quản lý máy chủ
- * Thích sử dụng giao diện web đơn giản, trực quan hơn terminal
- * Quá nhàm chán với việc ghi nhớ và lặp lại việc gõ các câu lệnh
- * Muốn tự động hóa mọi thao tác
- * Muốn tiết kiệm thời gian quản trị máy chủ
- * Muốn tiết kiệm tiền bạc, nhân lực quản trị máy chủ 👉 https://flashvps.dev
Các bài viết trên website thường xuyên được đăng tải và cập nhật trên trang Facebook Chung Nguyễn Blog hãy tặng cho Chung một LIKE nhé! Mãi yêu các bạn!
813 👍
Bình luận