siler
v1.7.9
作为 Siler 的替代品,它是一种轻量级且简单的东西,可以作为开箱即用的 Swoole 库使用,我强烈推荐 Nano!看看:https://nano.hyperf.wiki/#/en/
Siler 是一组通用的高级抽象,旨在为 PHP 中的声明式编程提供 API。
作为一等公民的档案和职能
零依赖,一切都在PHP内置函数之上
速度极快,无需额外开销 -基准测试 1 、基准测试 2和基准测试 3
平面文件和普通的 PHP 函数在生产级、高性能、可扩展、并发和非阻塞的 HTTP 服务器上运行。
阅读教程。
作曲家需要 leocavalcante/siler
就是这样。实际上,Siler是一个库,而不是一个框架(也许是一个微框架),整个程序的控制流程由你决定。因此,没有隐藏的配置或预定义的目录结构。
使用 SilerFunctional 作为 λ; // 为了保持冷静,不要使用非 ASCII 标识符 ;)use SilerRoute;Routeget('/', λputs('Hello, World!'));
不多不少。您甚至不需要告诉 Siler run
或类似的东西( puts
工作方式类似于延迟评估的echo
)。
使用 SilerRoute;use SilerHttpResponse;Routeget('/', fn() => Responsejson(['message' => '你好,世界!']));
Responsejson
函数会自动在响应头中添加Content-type: application/json
。
Siler 为 Swoole 提供一流的支持。您可以定期使用 Swoole HTTP 服务器的Route
、 Request
和Response
模块。
使用 SilerHttpResponse;使用 SilerRoute;使用 SilerSwoole;$handler = function () {Routeget('/', fn() => Responsejson('你好,世界!')); };$port = 8000;echo "监听端口$portn";Swoolehttp($handler, $port)->start();
安装对等依赖:
作曲家需要 webonyx/graphql-php
输入查询 {hello: String}
使用 SilerRoute;使用 SilerGraphQL;$type_defs = file_get_contents(__DIR__ . '/schema.graphql');$resolvers = ['Query' => ['hello' => fn ($root, $args, $context, $info) =>“你好,世界!”] ];$schema = GraphQLschema($type_defs, $resolvers);Routepost('/graphql', fn() => GraphQLinit($schema));
另一个同伴依赖:
作曲家需要学说/注释
然后:
/** * @SilerGraphQLAnnotationObjectType() */最终类查询 {/** * @SilerGraphQLAnnotationField() */public static function hello($root, $args, $context, $info): string{return 'Hello, World!'; } }
使用 SilerGraphQL;使用 SilerRoute;$schema = GraphQLannotated([Query::class]);Routepost('/graphql', fn() => GraphQLinit($schema));
对象类型名称将从类名称、字段名称和返回类型中猜测(即:PHP string
标量===
GraphQL String
标量)。
文档
示例
麻省理工学院许可证
版权所有 2020 © LC