Hoa central

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


This library allows to transform a process into a zombie: not alive, nor dead!

This is possible only if the program is running behind PHP-FPM (which manages processes for us).


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

```json { "require": { "hoa/zombie": "~2.0" } } ```

Please, read the website to get more informations about how to install.

Quick usage

To create a zombie, all we have to do is to call the Hoa\Zombie\Zombie::fork method. To kill a zombie, we have the choice between different weapons:

All these methods have been proven. Thus:

```php // I'm alive! Hoa::fork(); // I'm a zombie! Hoa::decapitate(); // I'm dead… ```

But we have to run the script behind FastCGI, that is why we will use the `Hoa` library in the following example.

In the Zombie.php file, we write the following instructions:

```php echo 'I guess I am sick…', "\n"; Hoa::fork();

// Do whatever you want here, e.g.: sleep(10); file_put_contents( DIR . DS . 'AMessage', 'Hello from after-life… or somewhere about!' ); Hoa::decapitate(); ```

Then, in the Run.php file, we write:

```php $fastcgi = new Hoa( new Hoa('tcp://') ); echo $fastcgi->send([ 'GATEWAY_INTERFACE' => 'FastCGI/1.0', 'REQUEST_METHOD' => 'GET', 'SCRIPT_FILENAME' => DIR . DS . 'Zombie.php' ]); ```

And finally, we can test:

```sh $ php-fpm -d listen= $ php Run.php I guess I am sick… ```

And 10 seconds after, we will see the AMessage file appear with the content: Hello from after-life… or somewhere about!.


Different documentations can be found on the website: http://hoa-project.net/.


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