[Laravel Series] 22. Kiểm soát Event trong Laravel

Một event là một action hay một hành động ngoài ý muốn được nhận dạng bởi một chương trình có thể được kiểm soát bởi một chương trình khác. Event trong Laravel đơn giản là cung cấp việc thực hiện quan sát. Event có thể được kiểm soát bằng những bước sau:

>>> Xem full Series về Laravel Framework <<<

Bước 1  – Tạo một lớp Event bằng lệnh sau:

Ở đây <event-class> nên được thay thế bởi tên của lớp event. Lớp được tạo ra sẽ lưu tại thư mục appEvents.

Bước 2 – Tạo một lớp handler để kiểm soát event vừa tạo ra bằng lệnh sau:

Ở đây <event-class> nên được thay thế bởi tên của lớp Event mà ta đã tạo ở bước 1 và <handler-class> nên được thay thế bởi tên của lớp handler. Lớp Handler mới được tạo ra sẽ được lưu tại thư mục appHandlersEvents.

Bước 3 – Đăng ký lớp event và handler của nó trong lớp EventServiceProvider.

Giờ chúng ta cần đăng ký event và lớp handler của nó trong file appProvidersEventServiceProvier.php. File này bao gồm một mảng được gọi là $listen. Trong mảng này, chúng ta cần thêm lớp event như là một key và lớp event handler như giá trị của nó.

Bước 4 – Hủy event

Bước cuối cùng đó là hủy event với Event facade. Phương thức fire() nên được gọi để lấy đối tượng của lớp event. Event có thể được hủy bằng cách sau:

<Event Class Object> nên được thay thế với đối tượng của lớp Event.

Tips: kiến thức Lập trình PHP sẽ giúp bạn tự tin hơn khi học lập trình Laravel

Ví dụ

Bước 1 – Tạo một controller CreateStudentController bằng lệnh:

Bước 2 – Sau khi chạy xong kêt quả là

studentcontroller

Bước 3 – Sao chép code sau vào file app/Http/Controllers/CreateStudentController.php

Bước 4 – Tạo một event gọi là StudentAdded bằng lệnh:

Bước 5 – Kết quả:

studentadded

Bước 6  – Câu lệnh ở trên sẽ tạo ra một file event tại AppEventsStudentAdded.php. Sao chép code sau vào file đó:

Bước 7 – Tạo một event handler gọi là HandleNewStudentAdded bằng lệnh

Bước 8 – Sau khi tạo xong:

handlenewsudent

Bước 9 – Lệnh phía trên sẽ tạo một file event handler tại appHandlersEventsHandleNewStudentAdded.php. Sao chép code sau vào file đó:

Bước 10 – Giờ bạn cần phải thêm lớp event và lớp handler của nó vào một file lưu tại ppProvidersEventServiceProvider.php. Chú ý dòng được in đậm và thêm dòng đó vào trong file.

Bước 11 – Thêm đoạn sau vào app/Http/routes.php.

Bước 12 – Vào URL sau để test event

http://localhost:8000/event

Bước 13 – Kết quả:

name_abc

Bước 14 – Thêm tên của học sinh vào trường Name rồi ấn vào “Add Student”, bạn sẽ được chuyển sang trang như bên dưới. Nhìn vào dòng được gạch chân màu xám. Chúng ta đã thêm dòng này vào phương thức handle của chúng ta trong lớp HandleNewStudentAdded, nó cho ta thấy các câu lệnh được chạy trong phương thức handle khi mà một event bị hủy.

record_inserted

Leave a comment

Your email address will not be published. Required fields are marked *