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 hooks: array( 40 ) 41 ) 42 1: Stmt_Property( 43 attrGroups: array( 44 ) 45 flags: PROTECTED | STATIC (10) 46 type: Name( 47 name: D 48 ) 49 props: array( 50 0: PropertyItem( 51 name: VarLikeIdentifier( 52 name: b 53 ) 54 default: null 55 ) 56 ) 57 hooks: array( 58 ) 59 ) 60 2: Stmt_Property( 61 attrGroups: array( 62 ) 63 flags: PRIVATE (4) 64 type: NullableType( 65 type: Identifier( 66 name: float 67 ) 68 ) 69 props: array( 70 0: PropertyItem( 71 name: VarLikeIdentifier( 72 name: c 73 ) 74 default: null 75 ) 76 ) 77 hooks: array( 78 ) 79 ) 80 3: Stmt_Property( 81 attrGroups: array( 82 ) 83 flags: PUBLIC | STATIC | READONLY (73) 84 type: NullableType( 85 type: Identifier( 86 name: int 87 ) 88 ) 89 props: array( 90 0: PropertyItem( 91 name: VarLikeIdentifier( 92 name: d 93 ) 94 default: null 95 ) 96 ) 97 hooks: array( 98 ) 99 ) 100 ) 101 ) 102) 103