Sử dụng Event trong Laravel

Ngày Đăng : 20/01/2017 - 2:48 PM

1. Event trong Laravel là gì?

 

Event dịch theo đúng ý nghĩa của nó là "sự kiện", đây là một khái niệm khá quen thuộc khi bạn làm việc với javascript như sự kiện clicksự kiện hover, .. Nhưng chúng ta đang làm việc vói PHP cho nên về nguyên tắc sử dụng có sự khác biệt một chút. Để hiểu hơn thì mình lấy ví dụ đơn giản như sau, giả sử bạn có sự kiện sinh nhật, trong sự kiện này bạn có nhiều hành động để xây dựng nó như mời bạn bè đến chơi, mua bánh, mua kẹo, đặt tiệc tại nhà hàng, ... thì event trong laravel cũng tương tự, bạn có thể tạo ra 1 event và ở event đó bạn có thể có rất nhiều hành động.

Vẫn còn mơ hồ thì ta bắt tay vào tìm hiểu ngay nhé.

2. Cách sử dụng Event trong Laravel

 

Tạo Event trong laravel

Để tạo event bạn sử dụng đối tượng Event và gọi đến phương thức fire() qua cách gọi một phương thức tĩnh

 

1
$response = Event::fire('event.name', array($value,$value2));

 

Trong đó:

  • event.name là tên Event
  • array($value,$value2) là các giá trị truyền vào cho event
Ví dụ: Tạo Event login và tham số truyền vào là username và password

 

1
$response = Event::fire('event.login', array('freetuts.net','123456'));

 

Bắt Event trong laravel

Sau khi tạo event thì bạn có thể bắt event thông qua phương thức listen() trong đối tượng Event.

 

1
Event::listen('event.name', $callback);

 

Trong đó:

  • event.name là tên event mà ta đã tạo ở trên (sử dụng phương thức fire())
  • $callback có thể là function callback hoặc Class
Ví dụ: Bắt event login mà ta đã tạo ở trên

Trường hợp sử dụng function callback:

 

1
2
3
Event::listen('event.login', function($username, $password){
    // Handle the event...
});

 

 

Nguồn: http://freetuts.net/

Tin mới

jQuery Ajax

AJAX là từ viết tắt của Asynchronous JavaScript and XML và công nghệ này giúp chúng ta tải dữ liệu từ Server mà không cần Refresh trình duyệt.

>> Xem thêm >>

Hướng dẫn validate form sử dụng jQuery validate

Hướng dẫn validate form sử dụng jQuery validate

>> Xem thêm >>

Sử dụng Event trong Laravel

Trong bài này mình sẽ giới thiệu event, cách tạo event và bắt event trong Laravel. Không chỉ có Laravel mà ngay cả Zend, Phalcon đều có khái niệm này nên bạn có thể thấy tầm quan trọng của nó rồi đấy.

>> Xem thêm >>

Sử dụng Route::controller và Route::resource trong laravel

Sử dụng Route::controller và Route::resource trong laravel

>> Xem thêm >>

Tối ưu hóa câu truy vấn trên hệ quản trị MySQL

Khi nói đến những dự án lớn thì một trong những vấn đề được các coder quan tâm hàng đầu đó là hiệu suất của dự án. Một site nhỏ với qui mô vài trăm user, dung lượng database chưa đáng kể thì thời gian truy vấn, tải trang chưa phải là vấn đề bạn cần quan tâm. Nhưng theo thời gian site phát triển với tốc độ chóng mặt, chẳng mấy chốc đã có tới hàng triệu users tham gia, tỉ lệ thuận với nó là bảng users có hàng triệu records, database phình to, dung lượng có thể lên đến hàng chục gigabyte thậm chí hàng trăm gigabyte… Lúc này, thì một vấn đề lớn đặt ra cho các coder chúng ta là làm sao để website với 1 database to như vậy vẫn chạy mượt mà như là database nhỏ!? Ngoài những vấn đề về đầu tư với server cấu hình cao, database server riêng rẽ, chuẩn hóa code thì yếu tố tối ưu truy vấn MySQL với một database lớn là một cách giải quyết.

>> Xem thêm >>

Mảng trong PHP và các hàm xử lý mảng

Trong PHP hỗ trợ một kiểu dữ liệu là dữ liệu kiểu mảng, còn gọi là ARRAY. Mảng là một biến danh sách. Nghĩa là biến thuộc mảng được tạo bởi một hoặc nhiều số hoặc kí tự, cho phép chúng ta lưu trữ, sắp xếp, truy cập các giá trị. Chú ý là mảng trong PHP phần tử bắt đầu luôn là phần tử thứ 0.

>> Xem thêm >>

Tin Tức khác

Giám khảo Bolero muốn mượn roi đánh cháu ruột ngay trên sân khấu

Ca sĩ Thái Châu, Giám khảo cuộc thi Tình Bolero, ngỏ ý muốn mượn cây roi để đánh ca sĩ Hà My, thí sinh cũng là cháu ruột, vì có tài mà không biết cố gắng, ăn chơi trác táng.

>> Xem thêm >>

Tài xế ôtô tức giận chặn đường xe máy vì vượt đèn đỏ bất thành

Tài xế Kia Sportage đang vượt đèn đỏ thì phải đánh lái tránh một xe máy cũng vượt đèn đỏ. Ôtô liên tục cài số tiến và lùi chặn không cho xe máy đi.

>> Xem thêm >>

Phạt tù kẻ quay cảnh ái ân với bé gái trong nhà nghỉ

Dụ bé gái 13 tuổi vào nhà nghỉ để "làm chuyện người lớn", Tuấn đã dùng điện thoại để quay lại cảnh ân ái giữa 2 người.

>> Xem thêm >>

Phá hơn 3.300 vụ phạm pháp hình sự trong tháng Tết

Theo Bộ Công an, phạm pháp hình sự trong tháng 2 được kiềm chế, an ninh trật tự dịp tết Nguyên đán Đinh Dậu đảm bảo tốt hơn năm trước.

>> Xem thêm >>

Trung Quốc sắp xây xong kho chứa tên lửa trên Biển Đông

Hai quan chức Mỹ cho biết Trung Quốc đang hoàn thành gần 20 công trình trên các đảo nhân tạo phi pháp ở Biển Đông được thiết kế để chứa tên lửa đất đối không.

>> Xem thêm >>

Malaysia: Nghi phạm vụ Kim Jong Nam làm tại ĐSQ Triều Tiên

Trong cuộc họp báo sáng 22/2, cảnh sát trưởng Malaysia thông báo thêm hai nghi phạm người Triều Tiên nữa trong vụ Kim Jong Nam. Cả hai người này đều đang ở Malaysia.

>> Xem thêm >>

jQuery Ajax

AJAX là từ viết tắt của Asynchronous JavaScript and XML và công nghệ này giúp chúng ta tải dữ liệu từ Server mà không cần Refresh trình duyệt.

>> Xem thêm >>

Hướng dẫn validate form sử dụng jQuery validate

Hướng dẫn validate form sử dụng jQuery validate

>> Xem thêm >>

Sử dụng Route::controller và Route::resource trong laravel

Sử dụng Route::controller và Route::resource trong laravel

>> Xem thêm >>

Tối ưu hóa câu truy vấn trên hệ quản trị MySQL

Khi nói đến những dự án lớn thì một trong những vấn đề được các coder quan tâm hàng đầu đó là hiệu suất của dự án. Một site nhỏ với qui mô vài trăm user, dung lượng database chưa đáng kể thì thời gian truy vấn, tải trang chưa..

>> Xem thêm >>
^