master

laravel/framework

Last updated at: 29/12/2023 09:20

InteractsWithSockets.php

TLDR

This file contains the InteractsWithSockets trait which provides methods for interacting with sockets in the broadcasting feature of the Illuminate framework.

Methods

dontBroadcastToCurrentUser

This method excludes the current user from receiving the broadcast. It sets the socket ID to the one returned by the Illuminate\Support\Facades\Broadcast::socket() method.

broadcastToEveryone

This method broadcasts the event to everyone. It sets the socket ID to null.

<?php

namespace Illuminate\Broadcasting;

use Illuminate\Support\Facades\Broadcast;

trait InteractsWithSockets
{
    /**
     * The socket ID for the user that raised the event.
     *
     * @var string|null
     */
    public $socket;

    /**
     * Exclude the current user from receiving the broadcast.
     *
     * @return $this
     */
    public function dontBroadcastToCurrentUser()
    {
        $this->socket = Broadcast::socket();

        return $this;
    }

    /**
     * Broadcast the event to everyone.
     *
     * @return $this
     */
    public function broadcastToEveryone()
    {
        $this->socket = null;

        return $this;
    }
}