nickstarlight / spdy
使用RoadRunner,Spdy是一个有见地的库集成,用于以PHP创建快速的、可靠的、现代化的REST API。
Requires
- php: ^8.1
- league/route: 5.1.2
- nyholm/psr7: 1.4.1
- spiral/roadrunner: v2.10.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- phpstan/phpstan: ^1.7
- vimeo/psalm: ^4.23
This package is auto-updated.
Last update: 2024-09-20 03:28:20 UTC
README
关于
Spdy PHP是一个有见地的库集成,用于使用RoadRunner以PHP创建快速的、可靠的、现代化的REST API。
通过使用合理的行业标准默认设置,Spdy让您专注于应用程序的业务价值,而不是浪费时间在选择和重新选择各种技术和配置上。
在最高层面上,Spdy只是实现经过实战检验的、行业标准化的PHP库,并将它们捆绑在一起,形成一个快速且可靠的REST API骨架。
开始使用
- 安装Spdy
composer require nickstarlight/spdy
- 实现应用程序基本结构
<?php declare(strict_types=1); include_once './vendor/autoload.php'; /** Create a new app instance */ $app = new Nickstarlight\Spdy\App(); /** Get the default router instance */ $router = $app->getRouter(); /** Declare a route */ $router->get('/', fn () => [ 'message' => 'Hello World' ]); /** Kickstart the event-loop */ $app->run();
- 获取RoadRunner二进制文件
./vendor/bin/rr get-binary
- 实现基本的Roadrunner PHP Worker配置,创建一个名为
.rr.yaml
的新文件,内容如下:
version: "2.7" server: command: "php yourscript.php" http: address: 0.0.0.0:8080
- 使用rr二进制文件启动应用程序
./rr serve
您就可以开始了!在localhost:8080上访问并检查您的新路由!
文档参考
如前所述,Spdy不会试图重新发明轮子,所有使用的库都是知名的库。如果您想调整任何内容或更改提供的默认设置,以下文档就是您需要的所有内容。
常见问题解答
-
如何声明路由?
请查看League Route文档以获取示例。
-
如何配置Worker以适应服务器需求?如何设置健康检查?数据库连接?环境变量?
Roadrunner为这些问题和其他许多功能提供了现成的生产级配置,请查看Roadrunner配置文件参考。
-
我需要一个强大的ORM、广播、视图、与ReactJS/Vue/Svelte的集成等...
Spdy的主要目标是提供一个可靠、小巧且高效的基座,用于创建简单而强大的REST API,它并不试图取代完整的框架。如果您需要更多功能,您应该明确地寻求完整的框架!一些好的例子是Symfony、Laravel、Yii、Laminas和Phalcon。
基准测试
有关更多信息,请查看基准测试独立存储库。
许可证
本作品许可在WTFPL许可证下。