Automattic\WooCommerce\Vendor\GraphQL\Type\Definition
PhpEnumType::__construct
Method of the class: PhpEnumType{}
No Hooks.
Returns
null. Nothing (null).
Usage
$PhpEnumType = new PhpEnumType(); $PhpEnumType->__construct( $enumClass, ?string $name, ?string $description, ?EnumTypeDefinitionNode $astNode, ?array $extensionASTNodes );
- $enumClass(class-string<\UnitEnum>) (required)
- The fully qualified class name of a native PHP enum.
- ?string $name
- .
Default:null - ?string $description
- .
Default:null - ?EnumTypeDefinitionNode $astNode
- .
Default:null - ?array $extensionASTNodes
- .
Default:null
PhpEnumType::__construct() PhpEnumType:: construct code WC 10.9.1
public function __construct(
string $enumClass,
?string $name = null,
?string $description = null,
?EnumTypeDefinitionNode $astNode = null,
?array $extensionASTNodes = null
) {
$this->enumClass = $enumClass;
$reflection = new \ReflectionEnum($enumClass);
/**
* @var array<string, PartialEnumValueConfig> $enumDefinitions
*/
$enumDefinitions = [];
foreach ($reflection->getCases() as $case) {
$enumDefinitions[$case->name] = [
'value' => $case->getValue(),
'description' => $this->extractDescription($case),
'deprecationReason' => $this->deprecationReason($case),
];
}
parent::__construct([
'name' => $name ?? $this->baseName($enumClass),
'values' => $enumDefinitions,
'description' => $description ?? $this->extractDescription($reflection),
'astNode' => $astNode,
'extensionASTNodes' => $extensionASTNodes,
]);
}