1--TEST-- 2Test semi-reserved words as static class properties 3--FILE-- 4<?php 5 6class Obj 7{ 8 static $empty = 'empty'; 9 static $callable = 'callable'; 10 static $class = 'class'; 11 static $trait = 'trait'; 12 static $extends = 'extends'; 13 static $implements = 'implements'; 14 static $static = 'static'; 15 static $abstract = 'abstract'; 16 static $final = 'final'; 17 static $public = 'public'; 18 static $protected = 'protected'; 19 static $private = 'private'; 20 static $const = 'const'; 21 static $enddeclare = 'enddeclare'; 22 static $endfor = 'endfor'; 23 static $endforeach = 'endforeach'; 24 static $endif = 'endif'; 25 static $endwhile = 'endwhile'; 26 static $and = 'and'; 27 static $global = 'global'; 28 static $goto = 'goto'; 29 static $instanceof = 'instanceof'; 30 static $insteadof = 'insteadof'; 31 static $interface = 'interface'; 32 static $namespace = 'namespace'; 33 static $new = 'new'; 34 static $or = 'or'; 35 static $xor = 'xor'; 36 static $try = 'try'; 37 static $use = 'use'; 38 static $var = 'var'; 39 static $exit = 'exit'; 40 static $list = 'list'; 41 static $clone = 'clone'; 42 static $include = 'include'; 43 static $include_once = 'include_once'; 44 static $throw = 'throw'; 45 static $array = 'array'; 46 static $print = 'print'; 47 static $echo = 'echo'; 48 static $require = 'require'; 49 static $require_once = 'require_once'; 50 static $return = 'return'; 51 static $else = 'else'; 52 static $elseif = 'elseif'; 53 static $default = 'default'; 54 static $break = 'break'; 55 static $continue = 'continue'; 56 static $switch = 'switch'; 57 static $yield = 'yield'; 58 static $function = 'function'; 59 static $fn = 'fn'; 60 static $if = 'if'; 61 static $endswitch = 'endswitch'; 62 static $finally = 'finally'; 63 static $for = 'for'; 64 static $foreach = 'foreach'; 65 static $declare = 'declare'; 66 static $case = 'case'; 67 static $do = 'do'; 68 static $while = 'while'; 69 static $as = 'as'; 70 static $catch = 'catch'; 71 static $die = 'die'; 72 static $self = 'self'; 73 static $parent = 'parent'; 74 static $isset = 'isset'; 75 static $unset = 'unset'; 76 static $__CLASS__ = '__CLASS__'; 77 static $__TRAIT__ = '__TRAIT__'; 78 static $__FUNCTION__ = '__FUNCTION__'; 79 static $__METHOD__ = '__METHOD__'; 80 static $__LINE__ = '__LINE__'; 81 static $__FILE__ = '__FILE__'; 82 static $__DIR__ = '__DIR__'; 83 static $__NAMESPACE__ = '__NAMESPACE__'; 84 static $__halt_compiler = '__halt_compiler'; 85} 86 87echo Obj::$empty, PHP_EOL; 88echo Obj::$callable, PHP_EOL; 89echo Obj::$class, PHP_EOL; 90echo Obj::$trait, PHP_EOL; 91echo Obj::$extends, PHP_EOL; 92echo Obj::$implements, PHP_EOL; 93echo Obj::$static, PHP_EOL; 94echo Obj::$abstract, PHP_EOL; 95echo Obj::$final, PHP_EOL; 96echo Obj::$public, PHP_EOL; 97echo Obj::$protected, PHP_EOL; 98echo Obj::$private, PHP_EOL; 99echo Obj::$const, PHP_EOL; 100echo Obj::$enddeclare, PHP_EOL; 101echo Obj::$endfor, PHP_EOL; 102echo Obj::$endforeach, PHP_EOL; 103echo Obj::$endif, PHP_EOL; 104echo Obj::$endwhile, PHP_EOL; 105echo Obj::$and, PHP_EOL; 106echo Obj::$global, PHP_EOL; 107echo Obj::$goto, PHP_EOL; 108echo Obj::$instanceof, PHP_EOL; 109echo Obj::$insteadof, PHP_EOL; 110echo Obj::$interface, PHP_EOL; 111echo Obj::$namespace, PHP_EOL; 112echo Obj::$new, PHP_EOL; 113echo Obj::$or, PHP_EOL; 114echo Obj::$xor, PHP_EOL; 115echo Obj::$try, PHP_EOL; 116echo Obj::$use, PHP_EOL; 117echo Obj::$var, PHP_EOL; 118echo Obj::$exit, PHP_EOL; 119echo Obj::$list, PHP_EOL; 120echo Obj::$clone, PHP_EOL; 121echo Obj::$include, PHP_EOL; 122echo Obj::$include_once, PHP_EOL; 123echo Obj::$throw, PHP_EOL; 124echo Obj::$array, PHP_EOL; 125echo Obj::$print, PHP_EOL; 126echo Obj::$echo, PHP_EOL; 127echo Obj::$require, PHP_EOL; 128echo Obj::$require_once, PHP_EOL; 129echo Obj::$return, PHP_EOL; 130echo Obj::$else, PHP_EOL; 131echo Obj::$elseif, PHP_EOL; 132echo Obj::$default, PHP_EOL; 133echo Obj::$break, PHP_EOL; 134echo Obj::$continue, PHP_EOL; 135echo Obj::$switch, PHP_EOL; 136echo Obj::$yield, PHP_EOL; 137echo Obj::$function, PHP_EOL; 138echo Obj::$fn, PHP_EOL; 139echo Obj::$if, PHP_EOL; 140echo Obj::$endswitch, PHP_EOL; 141echo Obj::$finally, PHP_EOL; 142echo Obj::$for, PHP_EOL; 143echo Obj::$foreach, PHP_EOL; 144echo Obj::$declare, PHP_EOL; 145echo Obj::$case, PHP_EOL; 146echo Obj::$do, PHP_EOL; 147echo Obj::$while, PHP_EOL; 148echo Obj::$as, PHP_EOL; 149echo Obj::$catch, PHP_EOL; 150echo Obj::$die, PHP_EOL; 151echo Obj::$self, PHP_EOL; 152echo Obj::$parent, PHP_EOL; 153echo Obj::$isset, PHP_EOL; 154echo Obj::$unset, PHP_EOL; 155echo Obj::$__CLASS__, PHP_EOL; 156echo Obj::$__TRAIT__, PHP_EOL; 157echo Obj::$__FUNCTION__, PHP_EOL; 158echo Obj::$__METHOD__, PHP_EOL; 159echo Obj::$__LINE__, PHP_EOL; 160echo Obj::$__FILE__, PHP_EOL; 161echo Obj::$__DIR__, PHP_EOL; 162echo Obj::$__NAMESPACE__, PHP_EOL; 163echo Obj::$__halt_compiler, PHP_EOL; 164 165echo "\nDone\n"; 166--EXPECT-- 167empty 168callable 169class 170trait 171extends 172implements 173static 174abstract 175final 176public 177protected 178private 179const 180enddeclare 181endfor 182endforeach 183endif 184endwhile 185and 186global 187goto 188instanceof 189insteadof 190interface 191namespace 192new 193or 194xor 195try 196use 197var 198exit 199list 200clone 201include 202include_once 203throw 204array 205print 206echo 207require 208require_once 209return 210else 211elseif 212default 213break 214continue 215switch 216yield 217function 218fn 219if 220endswitch 221finally 222for 223foreach 224declare 225case 226do 227while 228as 229catch 230die 231self 232parent 233isset 234unset 235__CLASS__ 236__TRAIT__ 237__FUNCTION__ 238__METHOD__ 239__LINE__ 240__FILE__ 241__DIR__ 242__NAMESPACE__ 243__halt_compiler 244 245Done 246