1Class declaration 2----- 3<?php 4 5class A { 6 public string $a; 7 protected static D $b; 8 private ?float $c; 9 readonly static public ?int $d; 10} 11----- 12array( 13 0: Stmt_Class( 14 attrGroups: array( 15 ) 16 flags: 0 17 name: Identifier( 18 name: A 19 ) 20 extends: null 21 implements: array( 22 ) 23 stmts: array( 24 0: Stmt_Property( 25 attrGroups: array( 26 ) 27 flags: PUBLIC (1) 28 type: Identifier( 29 name: string 30 ) 31 props: array( 32 0: PropertyItem( 33 name: VarLikeIdentifier( 34 name: a 35 ) 36 default: null 37 ) 38 ) 39 ) 40 1: Stmt_Property( 41 attrGroups: array( 42 ) 43 flags: PROTECTED | STATIC (10) 44 type: Name( 45 name: D 46 ) 47 props: array( 48 0: PropertyItem( 49 name: VarLikeIdentifier( 50 name: b 51 ) 52 default: null 53 ) 54 ) 55 ) 56 2: Stmt_Property( 57 attrGroups: array( 58 ) 59 flags: PRIVATE (4) 60 type: NullableType( 61 type: Identifier( 62 name: float 63 ) 64 ) 65 props: array( 66 0: PropertyItem( 67 name: VarLikeIdentifier( 68 name: c 69 ) 70 default: null 71 ) 72 ) 73 ) 74 3: Stmt_Property( 75 attrGroups: array( 76 ) 77 flags: PUBLIC | STATIC | READONLY (73) 78 type: NullableType( 79 type: Identifier( 80 name: int 81 ) 82 ) 83 props: array( 84 0: PropertyItem( 85 name: VarLikeIdentifier( 86 name: d 87 ) 88 default: null 89 ) 90 ) 91 ) 92 ) 93 ) 94) 95