mathsgod/graphqlite-mixed-type
Composer 安装命令:
composer require mathsgod/graphqlite-mixed-type
包简介
mixed type for graphqlite
README 文档
README
graphqlite-mixed-type
mixed input and output type support for thecodingmachine/graphqlite.
GraphQL does not natively support a mixed scalar type. This package adds a custom mixed scalar that can accept and return any value — objects, arrays, strings, numbers, or booleans — without requiring a predefined schema type.
Requirements
- PHP 8.1+
thecodingmachine/graphqlite^8.1
Installation
composer require mathsgod/graphqlite-mixed-type
Setup
Register the mapper factory when building your schema:
use GQL\Type\MixedTypeMapperFactory; $factory = new SchemaFactory($cache, $container); // ... $factory->addRootTypeMapperFactory(new MixedTypeMapperFactory());
Usage
Output type
Use outputType: "mixed" on a #[Query] or #[Mutation] to return any value:
use TheCodingMachine\GraphQLite\Annotations\Query; class Controllers { /** * @param mixed $a */ #[Query(outputType: "mixed")] public function mixedInput($a): mixed { return $a; } }
Input type
Annotate a parameter with @param mixed to accept any input value:
/** * @param mixed $data */ #[Query(outputType: "mixed")] public function echo(mixed $data): mixed { return $data; }
Example query
query { mixedInput(a: {hello: "world"}) }
Response:
{
"data": {
"mixedInput": {
"hello": "world"
}
}
}
How it works
| Class | Role |
|---|---|
MixedType |
Custom GraphQL scalar that passes any value through as-is |
MixedTypeMapper |
Maps PHP mixed type to/from MixedType for inputs and outputs |
MixedTypeMapperFactory |
Factory registered with SchemaFactory to plug in the mapper |
Testing
composer install vendor/bin/phpunit
mathsgod/graphqlite-mixed-type 适用场景与选型建议
mathsgod/graphqlite-mixed-type 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9.38k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 08 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 mathsgod/graphqlite-mixed-type 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mathsgod/graphqlite-mixed-type 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 9.38k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 13
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-08-24