1Class declaration 2----- 3<?php 4 5class A extends B implements C, D { 6 const A = 'B', C = 'D'; 7 8 public $a = 'b', $c = 'd'; 9 protected $e; 10 private $f; 11 12 public function a() {} 13 public static function b($a) {} 14 final public function c() : B {} 15 protected function d() {} 16 private function e() {} 17} 18----- 19array( 20 0: Stmt_Class( 21 attrGroups: array( 22 ) 23 flags: 0 24 name: Identifier( 25 name: A 26 ) 27 extends: Name( 28 name: B 29 ) 30 implements: array( 31 0: Name( 32 name: C 33 ) 34 1: Name( 35 name: D 36 ) 37 ) 38 stmts: array( 39 0: Stmt_ClassConst( 40 attrGroups: array( 41 ) 42 flags: 0 43 type: null 44 consts: array( 45 0: Const( 46 name: Identifier( 47 name: A 48 ) 49 value: Scalar_String( 50 value: B 51 ) 52 ) 53 1: Const( 54 name: Identifier( 55 name: C 56 ) 57 value: Scalar_String( 58 value: D 59 ) 60 ) 61 ) 62 ) 63 1: Stmt_Property( 64 attrGroups: array( 65 ) 66 flags: PUBLIC (1) 67 type: null 68 props: array( 69 0: PropertyItem( 70 name: VarLikeIdentifier( 71 name: a 72 ) 73 default: Scalar_String( 74 value: b 75 ) 76 ) 77 1: PropertyItem( 78 name: VarLikeIdentifier( 79 name: c 80 ) 81 default: Scalar_String( 82 value: d 83 ) 84 ) 85 ) 86 ) 87 2: Stmt_Property( 88 attrGroups: array( 89 ) 90 flags: PROTECTED (2) 91 type: null 92 props: array( 93 0: PropertyItem( 94 name: VarLikeIdentifier( 95 name: e 96 ) 97 default: null 98 ) 99 ) 100 ) 101 3: Stmt_Property( 102 attrGroups: array( 103 ) 104 flags: PRIVATE (4) 105 type: null 106 props: array( 107 0: PropertyItem( 108 name: VarLikeIdentifier( 109 name: f 110 ) 111 default: null 112 ) 113 ) 114 ) 115 4: Stmt_ClassMethod( 116 attrGroups: array( 117 ) 118 flags: PUBLIC (1) 119 byRef: false 120 name: Identifier( 121 name: a 122 ) 123 params: array( 124 ) 125 returnType: null 126 stmts: array( 127 ) 128 ) 129 5: Stmt_ClassMethod( 130 attrGroups: array( 131 ) 132 flags: PUBLIC | STATIC (9) 133 byRef: false 134 name: Identifier( 135 name: b 136 ) 137 params: array( 138 0: Param( 139 attrGroups: array( 140 ) 141 flags: 0 142 type: null 143 byRef: false 144 variadic: false 145 var: Expr_Variable( 146 name: a 147 ) 148 default: null 149 ) 150 ) 151 returnType: null 152 stmts: array( 153 ) 154 ) 155 6: Stmt_ClassMethod( 156 attrGroups: array( 157 ) 158 flags: PUBLIC | FINAL (33) 159 byRef: false 160 name: Identifier( 161 name: c 162 ) 163 params: array( 164 ) 165 returnType: Name( 166 name: B 167 ) 168 stmts: array( 169 ) 170 ) 171 7: Stmt_ClassMethod( 172 attrGroups: array( 173 ) 174 flags: PROTECTED (2) 175 byRef: false 176 name: Identifier( 177 name: d 178 ) 179 params: array( 180 ) 181 returnType: null 182 stmts: array( 183 ) 184 ) 185 8: Stmt_ClassMethod( 186 attrGroups: array( 187 ) 188 flags: PRIVATE (4) 189 byRef: false 190 name: Identifier( 191 name: e 192 ) 193 params: array( 194 ) 195 returnType: null 196 stmts: array( 197 ) 198 ) 199 ) 200 ) 201) 202