Broadcaster
abstract class Broadcaster implements Broadcaster
Properties
| protected Container | $container | The container instance. |
|
| protected Closure|null | $authenticatedUserCallback | The callback to resolve the authenticated user information. |
|
| static protected array | $channels | The registered channel authenticators. |
|
| static protected array | $channelOptions | The registered channel options. |
|
| static protected Closure|null | $channelFormatter | The callback used to format outgoing channel values. |
|
| static protected null|Request, string): ?string | $channelAuthorizer | The callback used to authorize incoming channel names. |
|
| protected BindingRegistrar|null | $bindingRegistrar | The binding registrar instance. |
Methods
Resolve the authenticated user payload for the incoming connection request.
Register the user retrieval callback used to authenticate connections.
Register a channel authenticator.
Authenticate the incoming request for a given channel.
Return the valid authentication response for the authorized channel.
Extract the parameters from the given pattern and channel.
Extracts the parameters out of what the user passed to handle the channel authentication.
Extracts the parameters out of a class channel's "join" method.
Extract the channel keys from the incoming channel name.
Resolve the given parameter binding.
Resolve an explicit parameter binding if applicable.
Resolve an implicit parameter binding if applicable.
Determine if a given key and parameter is implicitly bindable.
Format the channel array into an array of strings.
Get the model binding registrar instance.
Normalize the given callback into a callable.
Retrieve the authenticated user using the configured guard (if any).
Retrieve options for a certain channel.
Check if the channel name from the request matches a pattern from registered channels.
Get all of the registered channels.
Flush all static state.
Details
at line 67
array|null
resolveAuthenticatedUser(Request $request)
Resolve the authenticated user payload for the incoming connection request.
See: https://pusher.com/docs/channels/library_auth_reference/auth-signatures/#user-authentication.
at line 85
void
resolveAuthenticatedUserUsing(Closure|null $callback)
Register the user retrieval callback used to authenticate connections.
Boot-only. The callback persists in instance state on the cached broadcaster for the worker lifetime; per-request use races across coroutines.
See: https://pusher.com/docs/channels/library_auth_reference/auth-signatures/#user-authentication.
at line 97
Broadcaster
channel(HasBroadcastChannel|string $channel, callable|string $callback, array $options = [])
Register a channel authenticator.
Boot-only. The channel authorizer and options persist in shared static state on the Broadcaster class for the worker lifetime and apply to every subsequent connection authentication.
at line 118
static void
formatChannelsUsing(Closure|null $callback)
Register the outgoing channel formatter.
Boot-only. The callback persists in shared static state for the worker lifetime and applies to every broadcaster across all coroutines.
at line 129
static void
authorizeChannelsUsing(Closure|null $callback)
Register the incoming channel authorizer.
Boot-only. The callback persists in shared static state for the worker lifetime and applies to every broadcaster across all coroutines.
at line 139
protected mixed
verifyUserCanAccessChannel(Request $request, string $channel, bool $guarded = false)
Authenticate the incoming request for a given channel.
at line 178
protected mixed
validAuthenticationResponseForChannel(Request $request, mixed $result, string $channel)
Return the valid authentication response for the authorized channel.
at line 189
protected array
extractAuthParameters(string $pattern, string $channel, callable|string $callback)
Extract the parameters from the given pattern and channel.
at line 205
protected array
extractParameters(callable|string $callback)
Extracts the parameters out of what the user passed to handle the channel authentication.
at line 221
protected array
extractParametersFromClass(string $callback)
Extracts the parameters out of a class channel's "join" method.
at line 235
protected array
extractChannelKeys(string $pattern, string $channel)
Extract the channel keys from the incoming channel name.
at line 245
protected mixed
resolveBinding(string $key, string $value, array $callbackParameters)
Resolve the given parameter binding.
at line 259
protected mixed
resolveExplicitBindingIfPossible(string $key, mixed $value)
Resolve an explicit parameter binding if applicable.
at line 275
protected mixed
resolveImplicitBindingIfPossible(string $key, string $value, array $callbackParameters)
Resolve an implicit parameter binding if applicable.
at line 297
protected bool
isImplicitlyBindable(string $key, ReflectionParameter $parameter)
Determine if a given key and parameter is implicitly bindable.
at line 306
protected array
formatChannels(array $channels)
Format the channel array into an array of strings.
at line 321
protected BindingRegistrar|null
binder()
Get the model binding registrar instance.
at line 338
protected callable
normalizeChannelHandlerToCallable(mixed $callback)
Normalize the given callback into a callable.
at line 348
protected mixed
retrieveUser(Request $request, string $channel)
Retrieve the authenticated user using the configured guard (if any).
at line 370
protected array
retrieveChannelOptions(string $channel)
Retrieve options for a certain channel.
at line 386
protected bool
channelNameMatchesPattern(string $channel, string $pattern)
Check if the channel name from the request matches a pattern from registered channels.
at line 396
Collection
getChannels()
Get all of the registered channels.
at line 404
static void
flushState()
Flush all static state.