freshcells / graphqlite-misc-types
用于与GraphQLite一起使用的非标准GraphQL类型的集合。
2.0.1
2022-08-08 12:40 UTC
Requires
- php: >=7.4
- thecodingmachine/graphqlite: ^5 || ^6
- webonyx/graphql-php: ^14.9
Requires (Dev)
- phpstan/phpstan: ^1.8.2
- phpunit/phpunit: ^9.0.0
- symfony/cache: ^4
Suggests
- ext-json: Needed for JSON type
This package is auto-updated.
Last update: 2024-09-08 19:16:34 UTC
README
此包是GraphQLite PHP库的附加组件。它包含一组可以添加到GraphQLite中的GraphQL标量类型。
这是一个接管并直接分支https://github.com/thecodingmachine/graphqlite-misc-types的项目,该项目似乎已被遗弃。
我们保留了命名空间为TheCodingMachine
,以确保可以替换。
安装
$ composer require freshcells/graphqlite-misc-types
“任何”标量类型
此类型添加了对“AnyScalar”类型的支持,可以是“string”、“int”、“float”或“bool”中的任何一种。
使用方法
/** * @Query() * @param scalar $scalar * @return scalar */ public function echoScalar($scalar) { return $scalar; }
在DocBlock中使用“scalar”类型提示将值转换为“AnyScalar”。
注册AnyScalar
使用SchemaFactory
如果您正在使用SchemaFactory
初始化GraphQLite,请使用以下代码添加对AnyScalar
的支持
$schemaFactory->addRootTypeMapper(new \TheCodingMachine\GraphQLite\Types\AnyScalar\AnyScalarTypeMapper());
使用Symfony包
如果您正在使用Symfony包初始化GraphQLite,请将AnyScalarTypeMapper
注册为服务
# config/services.yaml services: TheCodingMachine\GraphQLite\Types\AnyScalar\AnyScalarTypeMapper: tags: ['graphql.root_type_mapper']
“JSON”类型
此类型添加了对“JSON”类型的支持,可以用于表示JSON数据。
使用Symfony包
如果您正在使用Symfony包初始化GraphQLite,请将JSONScalarTypeMapperFactory
注册为服务
# config/services.yaml services: TheCodingMachine\GraphQLite\Types\JSONScalar\JSONScalarTypeMapperFactory: tags: ['graphql.root_type_mapper_factory']