1<?php declare(strict_types=1); 2 3namespace PhpParser\Node; 4 5use PhpParser\Node; 6use PhpParser\NodeAbstract; 7 8class DeclareItem extends NodeAbstract { 9 /** @var Node\Identifier Key */ 10 public Identifier $key; 11 /** @var Node\Expr Value */ 12 public Expr $value; 13 14 /** 15 * Constructs a declare key=>value pair node. 16 * 17 * @param string|Node\Identifier $key Key 18 * @param Node\Expr $value Value 19 * @param array<string, mixed> $attributes Additional attributes 20 */ 21 public function __construct($key, Node\Expr $value, array $attributes = []) { 22 $this->attributes = $attributes; 23 $this->key = \is_string($key) ? new Node\Identifier($key) : $key; 24 $this->value = $value; 25 } 26 27 public function getSubNodeNames(): array { 28 return ['key', 'value']; 29 } 30 31 public function getType(): string { 32 return 'DeclareItem'; 33 } 34} 35 36// @deprecated compatibility alias 37class_alias(DeclareItem::class, Stmt\DeclareDeclare::class); 38