semi_reserved_005.phpt 4.8 KB

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