These words have special meaning in PHP. Some of them represent things 
    which look like functions, some look like constants, and so on - but 
    they're not, really: they are language constructs.
    The following words cannot be used as constants, class names, or function names. 
    They are, however, allowed as property, constant, and
    method names of classes, interfaces and traits, except that
    class may not be used as constant name.
   
| __halt_compiler() | abstract | and | array() | as | 
| break | callable | case | catch | class | 
| clone | const | continue | declare | default | 
| die() | do | echo | else | elseif | 
| empty() | enddeclare | endfor | endforeach | endif | 
| endswitch | endwhile | eval() | exit() | extends | 
| final | finally | fn (as of PHP 7.4) | for | foreach | 
| function | global | goto | if | implements | 
| include | include_once | instanceof | insteadof | interface | 
| isset() | list() | match (as of PHP 8.0) | namespace | new | 
| or | private | protected | public | |
| readonly (as of PHP 8.1.0) * | require | require_once | return | static | 
| switch | throw | trait | try | unset() | 
| use | var | while | xor | yield | 
| yield from | 
    * readonly may be used as function name.
   
| __CLASS__ | __DIR__ | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__ | 
| __NAMESPACE__ | __TRAIT__ |