php object types,Union Types

定义 Union Type

Union 是一种简单枚举其他 Object Types 的抽象类型。Union Type 的值实际上是包含的 Object Types 之一的值。

在 graphql-php 中,Union 类型是一个GraphQL\Type\Definition\UnionType (或其中一个子类)的实例,它接受构造函数中的配置数组:

use GraphQL\Type\Definition\UnionType;

$searchResultType = new UnionType([

'name' => 'SearchResult',

'types' => [

MyTypes::story(),

MyTypes::user()

],

'resolveType' => function($value) {

if ($value->type === 'story') {

return MyTypes::story();

} else {

return MyTypes::user();

}

}

]);

本示例对 Union 定义使用 内联 样式,但你也可以使用 继承或类型语言。

配置选项

联合类型的构造函数接受一个数组。以下是允许的选项的完整列表:

选项

类型

说明name

string

必需。 Schema 中该接口类型的唯一名称

types

array

必需。 本联合中包含的对象类型列表。请注意,你不能从接口或其他联合中创建联合类型。

description

string

用于客户端的此类型的明文描述(例如,GraphiQL 用于自动生成的文档)

resolveType

callback

function($value, $context, ResolveInfo $info)

从父字段的解析器接收 $value,并返回 $value 具体对象类型。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接

我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值