W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
如果你的應(yīng)用程序使用了很多不同的頻道, 那么 routes/channels.php
文件將會變得很臃腫。 所以,你可以使用頻道類,而不是使用閉包來授權(quán)頻道。要生成頻道類,使用 make:channel
Artisan 命令。 此命令將在 App/Broadcasting
目錄,生成一個新的頻道類。
php artisan make:channel OrderChannel
接下來,在 routes/channels.php
文件中注冊你的頻道:
use App\Broadcasting\OrderChannel;
Broadcast::channel('order.{order}', OrderChannel::class);
最后,你可以把頻道的授權(quán)邏輯,放在頻道類的 join
方法中。join
方法將保留在頻道授權(quán)閉包中的邏輯。 你還可以利用頻道模型綁定:
<?php
namespace App\Broadcasting;
use App\Models\Order;
use App\Models\User;
class OrderChannel
{
/**
* 新建一個新的頻道實(shí)例
*
* @return void
*/
public function __construct()
{
//
}
/**
* 驗(yàn)證用戶對頻道的訪問權(quán)限。
*
* @param \App\Models\User $user
* @param \App\Models\Order $order
* @return array|bool
*/
public function join(User $user, Order $order)
{
return $user->id === $order->user_id;
}
}
提示:和很多 Laravel 中其他類一樣,頻道類會被 服務(wù)容器 自動解析。 所以,你可以在構(gòu)造函數(shù)中鍵入頻道所需的任何依賴。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: