123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
-
- namespace Illuminate\Broadcasting;
-
- use Illuminate\Contracts\Events\Dispatcher;
-
- class PendingBroadcast
- {
- /**
- * The event dispatcher implementation.
- *
- * @var \Illuminate\Contracts\Events\Dispatcher
- */
- protected $events;
-
- /**
- * The event instance.
- *
- * @var mixed
- */
- protected $event;
-
- /**
- * Create a new pending broadcast instance.
- *
- * @param \Illuminate\Contracts\Events\Dispatcher $events
- * @param mixed $event
- * @return void
- */
- public function __construct(Dispatcher $events, $event)
- {
- $this->event = $event;
- $this->events = $events;
- }
-
- /**
- * Broadcast the event to everyone except the current user.
- *
- * @return $this
- */
- public function toOthers()
- {
- if (method_exists($this->event, 'dontBroadcastToCurrentUser')) {
- $this->event->dontBroadcastToCurrentUser();
- }
-
- return $this;
- }
-
- /**
- * Handle the object's destruction.
- *
- * @return void
- */
- public function __destruct()
- {
- $this->events->dispatch($this->event);
- }
- }
|