PHP Class GraphQL\Type\Definition\ObjectType

Almost all of the GraphQL types you define will be object types. Object types have a name, but most importantly describe their fields. Example: var AddressType = new GraphQLObjectType({ name: 'Address', fields: { street: { type: GraphQLString }, number: { type: GraphQLInt }, formatted: { type: GraphQLString, resolve(obj) { return obj.number + ' ' + obj.street } } } }); When two types need to refer to each other, or a type needs to refer to itself in a field, you can use a function expression (aka a closure or a thunk) to supply the fields lazily. Example: var PersonType = new GraphQLObjectType({ name: 'Person', fields: () => ({ name: { type: GraphQLString }, bestFriend: { type: PersonType }, }) });
Inheritance: extends Type, implements OutputType, implements CompositeType
Show file Open project: webonyx/graphql-php Class Usage Examples

Public Properties

Property Type Description
$config array Keeping reference of config for late bindings and custom app-level metadata
$resolveFieldFn callable

Public Methods

Method Description
__construct ( array $config ) ObjectType constructor.
getField ( string $name ) : FieldDefinition
getFields ( ) : FieldDefinition[]
getInterfaces ( ) : InterfaceType[]
implementsInterface ( InterfaceType $iface ) : boolean
isTypeOf ( $value, $context, ResolveInfo $info ) : boolean | null

Method Details

__construct() public method

ObjectType constructor.
public __construct ( array $config )
$config array

getField() public method

public getField ( string $name ) : FieldDefinition
$name string
return FieldDefinition

getFields() public method

public getFields ( ) : FieldDefinition[]
return FieldDefinition[]

getInterfaces() public method

public getInterfaces ( ) : InterfaceType[]
return InterfaceType[]

implementsInterface() public method

public implementsInterface ( InterfaceType $iface ) : boolean
$iface InterfaceType
return boolean

isTypeOf() public method

public isTypeOf ( $value, $context, ResolveInfo $info ) : boolean | null
$value
$context
$info ResolveInfo
return boolean | null

Property Details

$config public property

Keeping reference of config for late bindings and custom app-level metadata
public array $config
return array

$resolveFieldFn public property

public callable $resolveFieldFn
return callable