W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
要分發(fā)事件,你可以將事件實例傳遞給 event
輔助函數(shù)。該輔助函數(shù)將會把事件分發(fā)到所有該事件已注冊的監(jiān)聽器上。event
輔助函數(shù)可以全局使用,你可以在應(yīng)用中的任何位置進行調(diào)用:
<?php
namespace App\Http\Controllers;
use App\Events\OrderShipped;
use App\Http\Controllers\Controller;
use App\Models\Order;
class OrderController extends Controller
{
/**
* 為給定的訂單發(fā)貨
*
* @param int $orderId
* @return Response
*/
public function ship($orderId)
{
$order = Order::findOrFail($orderId);
// 訂單發(fā)貨邏輯 ...
event(new OrderShipped($order));
}
}
另外,如果你的事件使用 Illuminate\Foundation\Events\Dispatchable
trait, 則可以在事件上調(diào)用靜態(tài)的 dispatch
方法。 傳遞給 dispatch
方法的所有參數(shù)都將傳遞給事件的構(gòu)造函數(shù):
OrderShipped::dispatch($order);
技巧:在測試時,只需要斷言特定事件被分發(fā),而不需要真正地觸發(fā)監(jiān)聽器。Laravel 的 內(nèi)置測試輔助函數(shù) 可以輕松做到這一點。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: