Documentation

QueryPlan
in package

Table of Contents

$fragments  : array<string|int, FragmentDefinitionNode>
$groupImplementorFields  : bool
$queryPlan  : array<string, mixed>
$schema  : Schema
$types  : array<string|int, array<string|int, string>>
$variableValues  : array<string|int, mixed>
__construct()  : mixed
getReferencedFields()  : array<string|int, string>
getReferencedTypes()  : array<string|int, string>
hasField()  : bool
hasType()  : bool
queryPlan()  : array<string|int, mixed>
subFields()  : array<string|int, string>
analyzeQueryPlan()  : void
analyzeSelectionSet()  : array<string|int, mixed>
analyzeSubFields()  : array<string|int, mixed>
arrayMergeDeep()  : array<string|int, mixed>
similar to array_merge_recursive this merges nested arrays, but handles non array values differently while array_merge_recursive tries to merge non array values, in this implementation they will be overwritten
mergeFields()  : array<string|int, mixed>

Properties

$groupImplementorFields

private bool $groupImplementorFields

$queryPlan

private array<string, mixed> $queryPlan = []

$types

private array<string|int, array<string|int, string>> $types = []

$variableValues

private array<string|int, mixed> $variableValues

Methods

__construct()

public __construct(ObjectType $parentType, Schema $schema, array<string|int, FieldNode$fieldNodes, array<string|int, mixed> $variableValues, array<string|int, FragmentDefinitionNode$fragments[, array<string|int, mixed> $options = [] ]) : mixed
Parameters
$parentType : ObjectType
$schema : Schema
$fieldNodes : array<string|int, FieldNode>
$variableValues : array<string|int, mixed>
$fragments : array<string|int, FragmentDefinitionNode>
$options : array<string|int, mixed> = []
Return values
mixed

getReferencedFields()

public getReferencedFields() : array<string|int, string>
Return values
array<string|int, string>

getReferencedTypes()

public getReferencedTypes() : array<string|int, string>
Return values
array<string|int, string>

hasField()

public hasField(string $field) : bool
Parameters
$field : string
Return values
bool

hasType()

public hasType(string $type) : bool
Parameters
$type : string
Return values
bool

queryPlan()

public queryPlan() : array<string|int, mixed>
Return values
array<string|int, mixed>

subFields()

public subFields(string $typename) : array<string|int, string>
Parameters
$typename : string
Return values
array<string|int, string>

analyzeSubFields()

private analyzeSubFields(Type $type, SelectionSetNode $selectionSet[, array<string|int, mixed> &$implementors = [] ]) : array<string|int, mixed>
Parameters
$type : Type
$selectionSet : SelectionSetNode
$implementors : array<string|int, mixed> = []
Return values
array<string|int, mixed>

arrayMergeDeep()

similar to array_merge_recursive this merges nested arrays, but handles non array values differently while array_merge_recursive tries to merge non array values, in this implementation they will be overwritten

private arrayMergeDeep(array<string|int, mixed> $array1, array<string|int, mixed> $array2) : array<string|int, mixed>
Parameters
$array1 : array<string|int, mixed>
$array2 : array<string|int, mixed>
Tags
see
https://stackoverflow.com/a/25712428
Return values
array<string|int, mixed>

mergeFields()

private mergeFields(Type $parentType, Type $type, array<string|int, mixed> $fields, array<string|int, mixed> $subfields, array<string|int, mixed> &$implementors) : array<string|int, mixed>
Parameters
$parentType : Type
$type : Type
$fields : array<string|int, mixed>
$subfields : array<string|int, mixed>
$implementors : array<string|int, mixed>
Return values
array<string|int, mixed>

Search results