これらのキーワードは、PHP では特別な意味があります。これらのいくつかは
関数やメソッドのようなものを表し、いくつかは定数のようなものを表す、
といったようになっていますが、実際にはそうではありません。実際には、
これらは言語を構成するものです。
以下のキーワードはいずれも定数、クラス名、
関数名として使用することはできません。
しかし、クラスやインターフェイス、そしてトレイトの内部では、
プロパティ、定数、メソッドの名前として使うことができます。
但し、class だけは例外で、これを定数名として使うことはできません。
| __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 (PHP 7.4 以降) | for |
foreach
|
| function | global | goto | if | implements |
| include | include_once | instanceof | insteadof | interface |
| isset() | list() | match (PHP 8.0 以降) | namespace | new |
| or | private | protected | public | |
| readonly (PHP 8.1.0 以降) * | require | require_once | return | static |
| switch | throw | trait | try | unset() |
| use | var | while | xor | yield |
| yield from |
* readonly は、関数名として使用できます。
| __CLASS__ | __DIR__ | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__ |
| __NAMESPACE__ | __TRAIT__ |