Download the PHP package artisan-build/resonance without Composer

On this page you can find all versions of the php package artisan-build/resonance. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package resonance

Resonance Logo

Resonance

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Resonance is a Laravel WebSocket client for CLI commands, queue workers, and background processes. Inspired by Laravel Echo's API, it provides a familiar interface for real-time event listening—but from your PHP backend instead of the browser.

Built on artisan-build/pusher-websocket-php and ReactPHP's async event loop, Resonance connects to Reverb, Pusher, Soketi, and other Pusher-compatible servers.

Why Resonance?

Laravel Echo handles real-time features in the browser, but what about server-side PHP processes that need to listen for WebSocket events? Resonance fills that gap with:

Installation

You can publish the config file with:

Configuration

Resonance follows Laravel's convention of defining connections in config and selecting via environment variable:

Configuration Options

Option Description
broadcaster The broadcaster type: reverb, pusher, or null
key Your app key for the WebSocket server
authToken Bearer token for channel authorization (e.g., Sanctum token)
host WebSocket server hostname
port WebSocket server port
forceTLS Whether to use secure WebSocket (wss://)
cluster Pusher cluster (for Pusher broadcaster)
channelAuthorization.endpoint Full URL to your broadcasting auth endpoint

Note: The authToken is your authentication token (like a Laravel Sanctum token) used to authorize private/presence channel subscriptions. This is not the Reverb app secret—channel authorization is handled server-side where the signing secret lives.

Use RESONANCE_CONNECTION=null in your .env.testing to disable WebSocket connections during tests.

Usage

Basic Channel Subscription

Multiple Connections

Resonance uses the Manager pattern, allowing you to work with multiple connections:

Custom Drivers

Extend Resonance with custom broadcasters:

Direct Instantiation

Or instantiate directly with custom options:

Private Channels

Presence Channels

Connection Management

Encrypted Private Channels

Real-World Example: CLI Chat with Community Prompts

Here's a real-time chat application built with AsyncPrompt from artisan-build/community-prompts, demonstrating how Resonance enables interactive CLI tools:

This example showcases:

API Reference

Channel Methods

Method Description
listen($event, $callback) Listen for a specific event
listenToAll($callback) Listen for all events on the channel
listenForWhisper($event, $callback) Listen for client whisper events
stopListening($event) Stop listening to an event
stopListeningForWhisper($event) Stop listening for a whisper
notification($callback) Listen for Laravel notifications
subscribed($callback) Callback when subscription succeeds
error($callback) Callback when subscription fails

Private Channel Methods

Method Description
whisper($event, $data) Send a client event to other subscribers

Presence Channel Methods

Method Description
here($callback) Get current members when joining
joining($callback) Called when a member joins
leaving($callback) Called when a member leaves
whisper($event, $data) Send a client event to other subscribers

Supported Broadcasters

Broadcaster Status
Laravel Reverb Supported
Pusher Channels Supported
Soketi Supported (via Pusher connector)
Ably Planned

Testing

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of resonance with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
artisan-build/pusher-websocket-php Version ^0.1.0
illuminate/contracts Version ^11.0||^12.0
spatie/laravel-package-tools Version ^1.16
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package artisan-build/resonance contains the following files

Loading the files please wait ...