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
$fragments
private
array<string|int, FragmentDefinitionNode>
$fragments
$groupImplementorFields
private
bool
$groupImplementorFields
$queryPlan
private
array<string, mixed>
$queryPlan
= []
$schema
private
Schema
$schema
$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> —analyzeQueryPlan()
private
analyzeQueryPlan(ObjectType $parentType, array<string|int, FieldNode> $fieldNodes) : void
Parameters
- $parentType : ObjectType
- $fieldNodes : array<string|int, FieldNode>
Return values
void —analyzeSelectionSet()
private
analyzeSelectionSet(SelectionSetNode $selectionSet, InterfaceType|ObjectType $parentType, array<string|int, mixed> &$implementors) : array<string|int, mixed>
Parameters
- $selectionSet : SelectionSetNode
- $parentType : InterfaceType|ObjectType
- $implementors : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —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
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>