Description
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 alternatives and similar libraries
Based on the "Event" category.
Alternatively, view Hoa EventSource alternatives based on common mentions on social networks and blogs.
-
Workerman
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols. -
Broadway
Infrastructure and testing helpers for creating CQRS and event sourced applications. -
Evenement
Événement is a very simple event dispatching library for PHP. -
Icicle
Icicle is a PHP library for writing asynchronous code using synchronous coding techniques -
EventSaucePHP
A pragmatic event sourcing library for PHP with a focus on developer experience. -
Prooph Event Store
PHP 7.4 EventStore Implementation -
Cake Event
[READ-ONLY] The event dispatcher library for CakePHP. This repo is a split of the main code that can be found in https://github.com/cakephp/cakephp -
Novalize for Laravel
Generate Laravel Nova admin panels at light speed with GPT-4. -
Ardillo Event Loop
ReactPHP Event Loop implementation for Ardillo
InfluxDB - Power Real-Time Data Analytics at Scale
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Hoa EventSource or a related project?
README
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
This library allows to manipulate the EventSource (aka Server-Sent Events) technology by creating a server.
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 = new Hoa\Eventsource\Server();
while (true) {
// “tick” is the event name.
$server->tick->send(time());
sleep(1);
}
And in index.html
, our client:
<pre id="output"></pre>
<script>
var output = document.getElementById('output');
try {
var source = new EventSource('Server.php');
source.onopen = function () {
output.appendChild(document.createElement('hr'));
return;
};
source.addEventListener('tick', function (evt) {
var samp = 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 useHoa\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:
- On the
#hoaproject
IRC channel, - On the forum at users.hoa-project.net.
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.
*Note that all licence references and agreements mentioned in the Hoa EventSource README section above
are relevant to that project's source code only.