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, function or method 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__ |