%PDF- %PDF-
Direktori : /home/silvzytp/dsr_code/vendor/laravel/framework/src/Illuminate/Notifications/Channels/ |
Current File : //home/silvzytp/dsr_code/vendor/laravel/framework/src/Illuminate/Notifications/Channels/BroadcastChannel.php |
<?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 * @return void */ 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 toArray method.'); } }