freshcells/graphqlite-misc-types

用于与GraphQLite一起使用的非标准GraphQL类型的集合。

2.0.1 2022-08-08 12:40 UTC

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']