This package is still UNDER DEVELOPMENT but feel free to try it as you wish.
Make sure to have ZMQ installed on your system before to try it. Install guide
// composer.json
{
"require": {
"redbaron76/larapush": "dev-master"
}
}
// app/config/app.php
'providers' => array(
...
'Redbaron76\Larapush\LarapushServiceProvider',
),
Then run composer update
to install the new package.
From the console just type php artisan larapush:serve
(--port=8080) to rise the WebSocket/Ratchet server up.
// app/routes.php
Route::any('profile/{nickname}', ['as' => 'profile', function($nickname)
{
Larapush::send(['message' => 'I watch you, '.$nickname.'!'], ['profileChannel'], 'profile.visit');
return View::make('some.view');
}]);
In order to have Laravel session synced with the Ratchet server one, YOU MUST use specific Larapush filters in your routes:
- Use
'before' => 'sessionRemove'
wherever you perform a logout action. - Use
'after' => 'sessionSync'
wherever you perform a login action and in any authenticated route.
This will maintain your sessions in sync and you'll be able to perform a target Larapush::send()
.
Larapush.js - Pub/Sub js lib for Larapush
In order to make your dev life easier with Larapush, please give Larapush.js a try.
Follow my Twitter account @FFumis for any update.
- A logging (Monolog) system
- Client-to-client websocket communication with server authorization
- Automatic channel(s) subscription on joining routes
- ...and really open to any suggestion/contribution!! Please, ask!