Wallogit.com
2017 © Pedro Peláez
SSE is a Laravel wrapper for PHP Library LibSSE for implementing asynchronous Server Sent Events and pass them on to views.
SSE is a Laravel wrapper for PHP Library LibSSE for implementing asynchronous Server Sent Events and pass them on to views., (*1)
Laravel: 5.1, (*2)
Stable, (*3)
Use composer to download latest package to laravel installation, (*4)
composer require manfal/sse
or manually add package in require array of composer.json, (*5)
"manfal/sse": "dev-master"
and run, (*6)
composer update
place following service provider in config/app.php folder under providers array., (*7)
'manfal\sse\SSEServiceProvider'
place following facades in config/app.php folder under aliases array., (*8)
'SSE' => 'manfal\sse\SSEFacade',
'SSEEvent' => 'manfal\sse\SSEEventFacade'
<span id="time"></span>
<script>
var source = new EventSource('{!!url("/ssedemo")!!}');
var d = document.getElementById('time');
source.addEventListener('time',function(e){
var time = e.data;
d.innerHTML = time;
},false);
</script>
$> php artisan make:controller SSEDemoController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use SSEEvent;
use SSE;
class TimeEvent extends SSEEvent {
public function update(){
return date('l, F jS, Y, h:i:s A');
}
}
class SSEDemoController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
return view('ssedemo');
}
public function sseCheck() {
$sse = new SSE();
$sse->exec_limit=10;
$sse->addEventListener('time',new TimeEvent());
$sse->start();
}
}
Route::get('/ssedemo', 'SSEDemoController@sseCheck');