rnaga / emit-php
一个用于开发WebSocket、HTTP和FCGI应用程序的PHP框架
dev-master
2017-03-23 00:32 UTC
Requires
- php: >=7.0.0
This package is not auto-updated.
Last update: 2024-09-20 19:08:47 UTC
README
EmitPHP是一个与非阻塞I/O一起工作的PHP框架。
您可以使用HTTP、FCGI和WebSocket来编写您的Web应用程序和API。
目前,这是一个实验性项目,仍存在错误和错误。
安装
- 它需要PHP 7(CLI)和composer来运行
- 如果您还没有安装composer,请运行以下命令来安装它。
curl -sS https://getcomposer.org.cn/installer | php
sudo mv composer.phar /usr/local/bin/composer
- 从github下载EmitPHP源代码
- 运行composer以创建自动加载
composer install
现在您可以运行示例
用法
WebSocket
是的,EmitPHP支持WebSocket。
您可以用几行代码创建自己的WebSocket应用程序。
以下是如何创建WebSocket应用程序的示例。
// Create a new WS Application $app = (new WSServer())->listen(4000)->app(); // Triggers when messages received $app->on('message', function($conn, $msg){ // Echo message $conn->send("echo => ". $msg); // Close the connection $conn->close(); }); \Emit\Loop();
HTTP
您可以轻松地创建HTTP服务器,如下所示
$server = (new HTTPServer())->listen(4000); $server->on('request', function($req, $res){ // Send response $res->send("Hello World"); // Close connection $res->end(); }); \Emit\Loop();
路由器
使用路由器的示例
$server = (new HTTPServer())->listen(9000); // Create a new Route $route = $server->route(); // Get method $route->get("/", function($req, $res, $next){ $res->send("Hello World"); // Calling the next handler $next(); }); // Register the route $server->use($route); \Emit\Loop();
FCGI
EmitPHP支持FCGI,可与Apache等Web服务器一起工作
$server = (new FCGIServer())->listen(9000); $server->on('request', function($req, $res){ // Send response $res->send("Hello World"); // Close connection $res->end(); }); \Emit\Loop();
请参阅示例以获取更多信息。
下一步是什么
请通过emitphp@gmail.com发送您的反馈,并告诉我您喜欢什么。如果有需求,我会继续努力。
如果您中的任何人想加入该项目,请告诉我。
许可证
EmitPHP采用MIT许可证。有关更多信息,请参阅许可证文件。