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