[Editorial note: parent and self are reserved class names. Functions and constants with their names can be declared, but not userspace classes]
true, false and null are not listed because they are globally-defined constants, not reserved words.
No idea about parent or self, though.
List of Reserved Words
Съдържание
The following is a listing of predefined identifiers in PHP. None of the identifiers listed here should be used as identifiers in any of your scripts. These lists include keywords and predefined variable, constant, and class names. These lists are neither exhaustive or complete.
List of Keywords
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. You cannot use any of the following words as constants, class names, function or method names. Using them as variable names is generally OK, but could lead to confusion.
| and | or | xor | __FILE__ | exception (PHP 5) |
| __LINE__ | array() | as | break | case |
| class | const | continue | declare | default |
| die() | do | echo() | else | elseif |
| empty() | enddeclare | endfor | endforeach | endif |
| endswitch | endwhile | eval() | exit() | extends |
| for | foreach | function | global | if |
| include() | include_once() | isset() | list() | new |
| print() | require() | require_once() | return() | static |
| switch | unset() | use | var | while |
| __FUNCTION__ | __CLASS__ | __METHOD__ | final (as of PHP 5) | php_user_filter (as of PHP 5) |
| interface (as of PHP 5) | implements (as of PHP 5) | instanceof (as of PHP 5) | public (as of PHP 5) | private (as of PHP 5) |
| protected (as of PHP 5) | abstract (as of PHP 5) | clone (as of PHP 5) | try (as of PHP 5) | catch (as of PHP 5) |
| throw (as of PHP 5) | cfunction (PHP 4 only) | old_function (PHP 4 only) | this (as of PHP 5) | final (as of PHP 5) |
| __NAMESPACE__ (as of PHP 5.3) | namespace (as of PHP 5.3) | goto (PHP 6 only) | __DIR__ (as of PHP 5.3) |
List of Reserved Words
SR
04-Oct-2007 07:53
04-Oct-2007 07:53
londonx at gmail dot com
05-Mar-2007 11:14
05-Mar-2007 11:14
Naming a PHP5 class "variant" (with a constructor called the same) and then making an instance of it using __autoload triggers an error which disappears as soon as the name is changed. This should mean that "variant" is also a reserved word.
01-Nov-2006 01:42
Two things:
1. It would be nice for this list to differentiate those reserved words, which are language constructs used *with* parentheses (isset, unset, empty, eval, exit, die, ...) and those rather to be used *without* parentheses (all includes, echo, print, return, ...?)
This would really help define some common coding styles...
2. Do you write NULL, TRUE, FALSE or null, true, false? (I find CAPITAL letters better, however typing them can be annoying so I stick with using all lowercase letters, but what's the standard?)
10-Jan-2006 12:41
I don't see the boolean constants 'true' and 'false' listed among the reserved words/keywords/constants.
