Skip to content
This repository was archived by the owner on Sep 20, 2021. It is now read-only.

Repository files navigation

Hoa


Build statusCode coveragePackagistLicense

Hoa is a modular, extensible and structured set of PHP libraries.
Moreover, Hoa aims at being a bridge between industrial and research worlds.

Hoa\Eventsource

Help on IRCHelp on GitterDocumentationBoard

This library allows to manipulate the EventSource (aka Server-Sent Events) technology by creating a server.

Learn more.

Installation

With Composer, to include this library into your dependencies, you need to require hoa/eventsource:

$ composer require hoa/eventsource '~3.0'

For more installation procedures, please read the Source page.

Testing

Before running the test suites, the development dependencies must be installed:

$ composer install

Then, to run all the test suites:

$ vendor/bin/hoa test:run

For more information, please read the contributor guide.

Quick usage

We propose as a quick overview to send an unlimited number of events from the server to the client. The client will display all received events. Thus, in Server.php:

$server = newHoa\Eventsource\Server();
while (true) {
// “tick” is the event name.$server->tick->send(time());
sleep(1);
}

And in index.html, our client:

<preid="output"></pre><script>varoutput=document.getElementById('output');try{varsource=newEventSource('Server.php');source.onopen=function(){output.appendChild(document.createElement('hr'));return;};source.addEventListener('tick',function(evt){varsamp=document.createElement('samp');samp.innerHTML=evt.data+'\n';output.appendChild(samp);return;});}catch(e){console.log(e);}</script>

Start your HTTP server and then open index.html.

The Hoa\Eventsource\Server::setReconnectionTime method allows to redefine the time before the client will reconnect after a disconnection. The Hoa\Eventsource\Server::getLastId method allows to retrieve the last ID sent to the client.

Awecode

The following awecodes show this library in action:

  • Hoa\Eventsource: why and how to use Hoa\Eventsource\Server? A simple and daily useful example will illustrate the EventSource technology (or Server-Send Events).

Documentation

The hack book of Hoa\Eventsource contains detailed information about how to use this library and how it works.

To generate the documentation locally, execute the following commands:

$ composer require --dev hoa/devtools
$ vendor/bin/hoa devtools:documentation --open

More documentation can be found on the project's website: hoa-project.net.

Getting help

There are mainly two ways to get help:

Contribution

Do you want to contribute? Thanks! A detailed contributor guide explains everything you need to know.

License

Hoa is under the New BSD License (BSD-3-Clause). Please, see LICENSE for details.

About

The Hoa\Eventsource library.

Topics

Resources

Stars

110 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages