2017 © Pedro Peláez
 

library sse

Server sent events library.

image

todstoychev/sse

Server sent events library.

  • Wednesday, May 24, 2017
  • by todstoychev
  • Repository
  • 1 Watchers
  • 0 Stars
  • 2 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

sse

SSE is a Laravel wrapper for PHP Library LibSSE for implementing asynchronous Server Sent Events and pass them on to views., (*1)

Laravel Supported versions

Laravel: 5.1, (*2)

Stability

Stable, (*3)

Installing SSE

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'

Usage

  1. Create a new view in resources/views directory, name it ssedemo.blade.php and place following HTML and JS snippet.
    <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>
  1. Create a new controller via artisan CLI
$>  php artisan make:controller SSEDemoController
  1. Place following code in 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();
            }
        }
  1. Create a new route in app/Http/routes.php
    Route::get('/ssedemo', 'SSEDemoController@sseCheck');
  1. Refresh your browser.

The Versions

24/05 2017

dev-master

9999999-dev

Server sent events library.

  Sources   Download

MIT

The Requires

  • php >=7.0

 

by Todor Todorov