1<?php declare(strict_types=1); 2 3namespace PhpParser\Node\Scalar; 4 5use PhpParser\Node\Expr; 6use PhpParser\Node\InterpolatedStringPart; 7use PhpParser\Node\Scalar; 8 9class InterpolatedString extends Scalar { 10 /** @var (Expr|InterpolatedStringPart)[] list of string parts */ 11 public array $parts; 12 13 /** 14 * Constructs an interpolated string node. 15 * 16 * @param (Expr|InterpolatedStringPart)[] $parts Interpolated string parts 17 * @param array<string, mixed> $attributes Additional attributes 18 */ 19 public function __construct(array $parts, array $attributes = []) { 20 $this->attributes = $attributes; 21 $this->parts = $parts; 22 } 23 24 public function getSubNodeNames(): array { 25 return ['parts']; 26 } 27 28 public function getType(): string { 29 return 'Scalar_InterpolatedString'; 30 } 31} 32 33// @deprecated compatibility alias 34class_alias(InterpolatedString::class, Encapsed::class); 35