/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
src/Illuminate/Notifications/Channels/BroadcastChannel.php
74 строки
2 KB
Andrew Brown
[12.x] remove `@return` docblocks on constructors (#55076)
19 мар 2025, 23:10
Не верифицирован
19 мар 2025, 23:10
8f0e00b
Код
Авторство
О чём код?
<?php namespace Illuminate\Notifications\Channels; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Notifications\Events\BroadcastNotificationCreated; use Illuminate\Notifications\Messages\BroadcastMessage; use Illuminate\Notifications\Notification; use RuntimeException; class BroadcastChannel { /** * The event dispatcher. * * @var \Illuminate\Contracts\Events\Dispatcher */ protected $events; /** * Create a new broadcast channel. * * @param \Illuminate\Contracts\Events\Dispatcher $events */ public function __construct(Dispatcher $events) { $this->events = $events; } /** * Send the given notification. * * @param mixed $notifiable * @param \Illuminate\Notifications\Notification $notification * @return array|null */ public function send($notifiable, Notification $notification) { $message = $this->getData($notifiable, $notification); $event = new BroadcastNotificationCreated( $notifiable, $notification, is_array($message) ? $message : $message->data ); if ($message instanceof BroadcastMessage) { $event->onConnection($message->connection) ->onQueue($message->queue); } return $this->events->dispatch($event); } /** * Get the data for the notification. * * @param mixed $notifiable * @param \Illuminate\Notifications\Notification $notification * @return mixed * * @throws \RuntimeException */ protected function getData($notifiable, Notification $notification) { if (method_exists($notification, 'toBroadcast')) { return $notification->toBroadcast($notifiable); } if (method_exists($notification, 'toArray')) { return $notification->toArray($notifiable); } throw new RuntimeException('Notification is missing toBroadcast / toArray method.'); } }