Estas palavras têm um significado especial no PHP. Algumas delas representam coisas que parecem funções, algumas parecem constantes, e assim por diante - mas na verdade não o são realmente: elas são construtores de linguagem. Você não pode usar nenhuma das seguintes palavras como constantes, nomes de classes, de funções ou de métodos. Usá-las como nome de variáveis geralmente não causa erros, mas pode levar a confusão.
A partir do PHP 7.0.0 estas palavras-chave são permitidas em propriedades, constantes e
nomes de métodos em classes, interfaces e traits, com exceção de
class
, que não pode ser utilizada como nome de constante.
__halt_compiler() | abstract | and | array() | as |
break | callable (a partir do PHP 5.4) | 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 (a partir do PHP 5.5) | fn (a partir do PHP 7.4) | for | foreach |
function | global | goto (a partir do PHP 5.3) | if | implements |
include | include_once | instanceof | insteadof (a partir do PHP 5.4) | interface |
isset() | list() | namespace (a partir do PHP 5.3) | new | or |
private | protected | public | require | |
require_once | return | static | switch | throw |
trait (a partir do PHP 5.4) | try | unset() | use | var |
while | xor | yield (a partir do PHP 5.5) | yield from (a partir do PHP 7.0) |
__CLASS__ | __DIR__ (a partir do PHP 5.3) | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__ |
__NAMESPACE__ (a partir do PHP 5.3) | __TRAIT__ (a partir do PHP 5.4) |