hoa/zombie

此软件包已被废弃,不再维护。没有建议替代软件包。

Hoa\Zombie 库。

3.17.01.16 2017-01-16 07:03 UTC

README

Hoa

Build status Code coverage Packagist License

Hoa 是一套 模块化可扩展结构化 的 PHP 库。
此外,Hoa 旨在成为工业界和研究界之间的桥梁。

Hoa\Zombie

Help on IRC Help on Gitter Documentation Board

这个库可以将一个进程转换为僵尸:既不活着,也不死去!

只有当程序在 PHP-FPM (它为我们管理进程) 之后运行时,才有可能实现。

了解更多信息.

安装

使用 Composer,要将此库包含到您的依赖中,您需要要求 hoa/zombie

$ composer require hoa/zombie '~3.0'

有关更多安装程序,请阅读 源代码页面

测试

在运行测试套件之前,必须安装开发依赖项

$ composer install

然后,要运行所有测试套件

$ vendor/bin/hoa test:run

有关更多信息,请阅读 贡献者指南

快速使用

要创建一个僵尸,我们只需调用 Hoa\Zombie\Zombie::fork 方法。要杀死一个僵尸,我们有不同的武器可供选择

  • Hoa\Zombie\Zombie::decapitateziip;
  • Hoa\Zombie\Zombie::bludgeontap tap;
  • Hoa\Zombie\Zombie::burn,如果你感到寒冷的话;
  • Hoa\Zombie\Zombie::explodeboom;
  • Hoa\Zombie\Zombie::cutOff,香肠?

所有这些方法都已证明有效。因此

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

但是我们必须在 FastCGI 后运行脚本,这就是为什么在以下示例中我们将使用 Hoa\Fastcgi 的原因。

Zombie.php 文件中,我们编写以下指令

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

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

然后,在 Run.php 文件中,我们编写

$fastcgi = new Hoa\Fastcgi\Responder(
    new Hoa\Socket\Client('tcp://127.0.0.1:9000')
);
echo $fastcgi->send([
    'GATEWAY_INTERFACE' => 'FastCGI/1.0',
    'REQUEST_METHOD'    => 'GET',
    'SCRIPT_FILENAME'   => __DIR__ . DS . 'Zombie.php'
]);

最后,我们可以测试

$ php-fpm -d listen=127.0.0.1:9000
$ php Run.php
I guess I am sick…

然后 10 秒后,我们将看到 AMessage 文件出现,内容为:来自来世……或者某个地方!

文档

Hoa\Zombie 的黑客手册 包含有关如何使用此库及其工作原理的详细信息。

要本地生成文档,请执行以下命令

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

更多文档可以在项目网站上找到:hoa-project.net

获取帮助

主要有两种方法可以获取帮助

贡献

你想贡献吗?谢谢!一份详细的贡献指南解释了你需要了解的所有内容。

许可证

Hoa遵循新的BSD许可证(BSD-3-Clause)。请参阅LICENSE以获取详细信息。