一、关键词列表
这些词语在 PHP 中有着特殊的意义。它们中有些像是函数,有些像是常量……但是它们不是的,它们只是语言结构的一部分。不能使用它们的任何一个作为常量、方法名或是类名。但是可以将它们作为变量名使用,不过这样会导致混淆。
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 (PHP 5) | php_user_filter (PHP 5) |
interface (PHP 5) | implements (PHP 5) | extends | public (PHP 5) | private (PHP 5) |
protected (PHP 5) | abstract (PHP 5) | clone (PHP 5) | try (PHP 5) | catch (PHP 5) |
throw (PHP 5) | cfunction (PHP 4 only) | this (PHP 5 only) |
预定义类
本节列出标准的预定义类。各种扩展库定义了其它类,其说明在各自的参考文档中。
标准类
这些类由一些内建在 PHP 中的标准函数定义。
Directory由dir()创建. stdClass__PHP_Incomplete_Class
自 PHP 5 起预定义的类
这些额外的预定义类是 PHP 5.0.0 引进的。
exceptionphp_user_filter
Closure
PHP5.3.0中引入了一个预定义的final类Closure,它可以用于实现 匿名函数
该类的构造方法禁止手工创建该类的对象(会导致一个E_RECOVERABLE_ERROR错误)。该类也有一个__invoke方法来进行魔术调用。
特殊的类
以下标记符不可以作为类名,因为它们有着特殊的用途。
selfparent
二、预定义常量
内核预定义常量
这些常量在 PHP 的内核中定义。它包含 PHP、Zend 引擎和 SAPI 模块。
PHP_VERSION (string) PHP_OS (string) PHP_SAPI (string)自PHP4.2.0起可用。参见php_sapi_name()。 PHP_EOL (string)自PHP4.3.10和PHP5.0.2起可用 PHP_INT_MAX (integer)自PHP4.4.0和PHP5.0.5起可用 PHP_INT_SIZE (integer)自PHP4.4.0和PHP5.0.5起可用 DEFAULT_INCLUDE_PATH (string) PEAR_INSTALL_DIR (string) PEAR_EXTENSION_DIR (string) PHP_EXTENSION_DIR (string) PHP_PREFIX (string)自PHP4.3.0起可用 PHP_BINDIR (string) PHP_LIBDIR (string) PHP_DATADIR (string) PHP_SYSCONFDIR (string) PHP_LOCALSTATEDIR (string) PHP_CONFIG_FILE_PATH (string) PHP_CONFIG_FILE_SCAN_DIR (string) PHP_SHLIB_SUFFIX (string)自PHP4.3.0起可用 PHP_OUTPUT_HANDLER_START (integer) PHP_OUTPUT_HANDLER_CONT (integer) PHP_OUTPUT_HANDLER_END (integer) E_ERROR (integer) E_WARNING (integer) E_PARSE (integer) E_NOTICE (integer) E_CORE_ERROR (integer) E_CORE_WARNING (integer) E_COMPILE_ERROR (integer) E_COMPILE_WARNING (integer) E_USER_ERROR (integer) E_USER_WARNING (integer) E_USER_NOTICE (integer) E_ALL (integer) E_STRICT (integer)从PHP5.0.0起有效 __COMPILER_HALT_OFFSET__ (integer)自PHP5.1.0起有效
标准预定义常量
EXTR_OVERWRITE (integer) EXTR_SKIP (integer) EXTR_PREFIX_SAME (integer) EXTR_PREFIX_ALL (integer) EXTR_PREFIX_INVALID (integer) EXTR_PREFIX_IF_EXISTS (integer) EXTR_IF_EXISTS (integer) SORT_ASC (integer) SORT_DESC (integer) SORT_REGULAR (integer) SORT_NUMERIC (integer) SORT_STRING (integer) CASE_LOWER (integer) CASE_UPPER (integer) COUNT_NORMAL (integer) COUNT_RECURSIVE (integer) ASSERT_ACTIVE (integer) ASSERT_CALLBACK (integer) ASSERT_BAIL (integer) ASSERT_WARNING (integer) ASSERT_QUIET_EVAL (integer) CONNECTION_ABORTED (integer) CONNECTION_NORMAL (integer) CONNECTION_TIMEOUT (integer) INI_USER (integer) INI_PERDIR (integer) INI_SYSTEM (integer) INI_ALL (integer) M_E (float) M_LOG2E (float) M_LOG10E (float) M_LN2 (float) M_LN10 (float) M_PI (float) M_PI_2 (float) M_PI_4 (float) M_1_PI (float) M_2_PI (float) M_2_SQRTPI (float) M_SQRT2 (float) M_SQRT1_2 (float) CRYPT_SALT_LENGTH (integer) CRYPT_STD_DES (integer) CRYPT_EXT_DES (integer) CRYPT_MD5 (integer) CRYPT_BLOWFISH (integer) DIRECTORY_SEPARATOR (string) SEEK_SET (integer) SEEK_CUR (integer) SEEK_END (integer) LOCK_SH (integer) LOCK_EX (integer) LOCK_UN (integer) LOCK_NB (integer) HTML_SPECIALCHARS (integer) HTML_ENTITIES (integer) ENT_COMPAT (integer) ENT_QUOTES (integer) ENT_NOQUOTES (integer) INFO_GENERAL (integer) INFO_CREDITS (integer) INFO_CONFIGURATION (integer) INFO_MODULES (integer) INFO_ENVIRONMENT (integer) INFO_VARIABLES (integer) INFO_LICENSE (integer) INFO_ALL (integer) CREDITS_GROUP (integer) CREDITS_GENERAL (integer) CREDITS_SAPI (integer) CREDITS_MODULES (integer) CREDITS_DOCS (integer) CREDITS_FULLPAGE (integer) CREDITS_QA (integer) CREDITS_ALL (integer) STR_PAD_LEFT (integer) STR_PAD_RIGHT (integer) STR_PAD_BOTH (integer) PATHINFO_DIRNAME (integer) PATHINFO_BASENAME (integer) PATHINFO_EXTENSION (integer) PATH_SEPARATOR (string) CHAR_MAX (integer) LC_CTYPE (integer) LC_NUMERIC (integer) LC_TIME (integer) LC_COLLATE (integer) LC_MONETARY (integer) LC_ALL (integer) LC_MESSAGES (integer) ABDAY_1 (integer) ABDAY_2 (integer) ABDAY_3 (integer) ABDAY_4 (integer) ABDAY_5 (integer) ABDAY_6 (integer) ABDAY_7 (integer) DAY_1 (integer) DAY_2 (integer) DAY_3 (integer) DAY_4 (integer) DAY_5 (integer) DAY_6 (integer) DAY_7 (integer) ABMON_1 (integer) ABMON_2 (integer) ABMON_3 (integer) ABMON_4 (integer) ABMON_5 (integer) ABMON_6 (integer) ABMON_7 (integer) ABMON_8 (integer) ABMON_9 (integer) ABMON_10 (integer) ABMON_11 (integer) ABMON_12 (integer) MON_1 (integer) MON_2 (integer) MON_3 (integer) MON_4 (integer) MON_5 (integer) MON_6 (integer) MON_7 (integer) MON_8 (integer) MON_9 (integer) MON_10 (integer) MON_11 (integer) MON_12 (integer) AM_STR (integer) PM_STR (integer) D_T_FMT (integer) D_FMT (integer) T_FMT (integer) T_FMT_AMPM (integer) ERA (integer) ERA_YEAR (integer) ERA_D_T_FMT (integer) ERA_D_FMT (integer) ERA_T_FMT (integer) ALT_DIGITS (integer) INT_CURR_SYMBOL (integer) CURRENCY_SYMBOL (integer) CRNCYSTR (integer) MON_DECIMAL_POINT (integer) MON_THOUSANDS_SEP (integer) MON_GROUPING (integer) POSITIVE_SIGN (integer) NEGATIVE_SIGN (integer) INT_FRAC_DIGITS (integer) FRAC_DIGITS (integer) P_CS_PRECEDES (integer) P_SEP_BY_SPACE (integer) N_CS_PRECEDES (integer) N_SEP_BY_SPACE (integer) P_SIGN_POSN (integer) N_SIGN_POSN (integer) DECIMAL_POINT (integer) RADIXCHAR (integer) THOUSANDS_SEP (integer) THOUSEP (integer) GROUPING (integer) YESEXPR (integer) NOEXPR (integer) YESSTR (integer) NOSTR (integer) CODESET (integer) LOG_EMERG (integer) LOG_ALERT (integer) LOG_CRIT (integer) LOG_ERR (integer) LOG_WARNING (integer) LOG_NOTICE (integer) LOG_INFO (integer) LOG_DEBUG (integer) LOG_KERN (integer) LOG_USER (integer) LOG_MAIL (integer) LOG_DAEMON (integer) LOG_AUTH (integer) LOG_SYSLOG (integer) LOG_LPR (integer) LOG_NEWS (integer) LOG_UUCP (integer) LOG_CRON (integer) LOG_AUTHPRIV (integer) LOG_LOCAL0 (integer) LOG_LOCAL1 (integer) LOG_LOCAL2 (integer) LOG_LOCAL3 (integer) LOG_LOCAL4 (integer) LOG_LOCAL5 (integer) LOG_LOCAL6 (integer) LOG_LOCAL7 (integer) LOG_PID (integer) LOG_CONS (integer) LOG_ODELAY (integer) LOG_NDELAY (integer) LOG_NOWAIT (integer) LOG_PERROR (integer)
三、解析器代号列表
PHP 语言的不同部分在内部被表示为类似 T_SR 的类型。PHP 在解析错误时输出这样的标识符,例如 "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10."。
应该知道 T_SR 的含义。对于所有不知道的人,下表列出了这些标识符,PHP 语法和在手册中适当位置的参考。
代号 | 语法 | 参考 |
---|---|---|
T_ABSTRACT | abstract | 抽象类(自 PHP 5.0.0 起可用) |
T_AND_EQUAL | &= | 赋值运算符 |
T_ARRAY | array() | array(),数组语法 |
T_ARRAY_CAST | (array) | 类型转换 |
T_AS | as | foreach |
T_BAD_CHARACTER | 在 ASCII 32 之前除了 \t (0x09), \n (0x0a) 和 \r (0x0d) 以外的任何字符 | |
T_BOOLEAN_AND | && | 逻辑运算符 |
T_BOOLEAN_OR | || | 逻辑运算符 |
T_BOOL_CAST | (bool) 或 (boolean) | 类型转换 |
T_BREAK | break | break |
T_CASE | case | switch |
T_CATCH | catch | 异常处理(自 PHP 5.0.0 起可用) |
T_CHARACTER | ||
T_CLASS | class | 类和对象 |
T_CLONE | clone | 类和对象。仅用于 PHP 5。 |
T_CLOSE_TAG | ?> 或 %> | |
T_COMMENT | // 或 #,以及 PHP 5 下的 /* */ | 注释 |
T_CONCAT_EQUAL | .= | 赋值运算符 |
T_CONST | const | |
T_CONSTANT_ENCAPSED_STRING | "foo" 或 'bar' | 字符串语法 |
T_CONTINUE | continue | |
T_CURLY_OPEN | ||
T_DEC | -- | 递增/递减运算符 |
T_DECLARE | declare | declare |
T_DEFAULT | default | switch |
T_DIV_EQUAL | /= | 赋值运算符 |
T_DNUMBER | 0.12,等等 | 浮点数 |
T_DOC_COMMENT | /** */ | PHPDoc 风格的注释(仅用于 PHP 5) |
T_DO | do | do..while |
T_DOLLAR_OPEN_CURLY_BRACES | ${ | 复杂变量解析语法 |
T_DOUBLE_ARROW | => | 数组语法 |
T_DOUBLE_CAST | (real), (double) 或 (float) | 类型转换 |
T_DOUBLE_COLON | :: | 见下面的 T_PAAMAYIM_NEKUDOTAYIM |
T_ECHO | echo | echo() |
T_ELSE | else | else |
T_ELSEIF | elseif | elseif |
T_EMPTY | empty | empty() |
T_ENCAPSED_AND_WHITESPACE | ||
T_ENDDECLARE | enddeclare | declare,替代语法 |
T_ENDFOR | endfor | for,替代语法 |
T_ENDFOREACH | endforeach | foreach,替代语法 |
T_ENDIF | endif | if,替代语法 |
T_ENDSWITCH | endswitch | switch,替代语法 |
T_ENDWHILE | endwhile | while,替代语法 |
T_END_HEREDOC | heredoc 语法 | |
T_EVAL | eval() | eval() |
T_EXIT | exit 或 die | exit(), die() |
T_EXTENDS | extends | extends,类和对象 |
T_FILE | __FILE__ | 常量 |
T_FINAL | final | Final关键字(自 PHP 5.0.0 起可用) |
T_FOR | for | for |
T_FOREACH | foreach | foreach |
T_FUNCTION | function 或 cfunction | 函数 |
T_GLOBAL | global | 变量范围 |
T_HALT_COMPILER | __halt_compiler() | __halt_compiler(自 PHP 5.1.0 起可用) |
T_IF | if | if |
T_IMPLEMENTS | implements | 接口(自 PHP 5.0.0 起可用) |
T_INC | ++ | 递增/递减运算符 |
T_INCLUDE | include() | include() |
T_INCLUDE_ONCE | include_once() | include_once() |
T_INLINE_HTML | ||
T_INSTANCEOF | instanceof | type operators(仅 PHP5) |
T_INT_CAST | (int) 或 (integer) | 类型转换 |
T_INTERFACE | interface | 接口(自 PHP 5.0.0 起可用) |
T_ISSET | isset() | isset() |
T_IS_EQUAL | == | 比较运算符 |
T_IS_GREATER_OR_EQUAL | >= | 比较运算符 |
T_IS_IDENTICAL | === | 比较运算符 |
T_IS_NOT_EQUAL | != or <> | 比较运算符 |
T_IS_NOT_IDENTICAL | !== | 比较运算符 |
T_IS_SMALLER_OR_EQUAL | <= | 比较运算符 |
T_LINE | __LINE__ | 常量 |
T_LIST | list() | list() |
T_LNUMBER | 123,012,0x1ac,等等 | 整型 |
T_LOGICAL_AND | and | 逻辑运算符 |
T_LOGICAL_OR | or | 逻辑运算符 |
T_LOGICAL_XOR | xor | 逻辑运算符 |
T_MINUS_EQUAL | -= | 赋值运算符 |
T_ML_COMMENT | /* 和 */ | 注释(仅用于 PHP 4) |
T_MOD_EQUAL | %= | 赋值运算符 |
T_MUL_EQUAL | *= | 赋值运算符 |
T_NEW | new | 类和对象 |
T_NUM_STRING | ||
T_OBJECT_CAST | (object) | 类型转换 |
T_OBJECT_OPERATOR | -> | 类和对象 |
T_OPEN_TAG | <?php, <? 或 <% | 从 HTML 转义 |
T_OPEN_TAG_WITH_ECHO | <?= or <%= | 从 HTML 转义 |
T_OR_EQUAL | |= | 赋值运算符 |
T_PAAMAYIM_NEKUDOTAYIM | :: | ::。也定义为 T_DOUBLE_COLON 。 |
T_PLUS_EQUAL | += | 赋值运算符 |
T_PRINT | print() | print() |
T_PRIVATE | private | 类和对象。仅用于 PHP 5。 |
T_PUBLIC | public | 类和对象。仅用于 PHP 5。 |
T_PROTECTED | protected | 类和对象。仅用于 PHP 5。 |
T_REQUIRE | require() | require() |
T_REQUIRE_ONCE | require_once() | require_once() |
T_RETURN | return | 返回值 |
T_SL | << | 位运算符 |
T_SL_EQUAL | <<= | 赋值运算符 |
T_SR | >> | 位运算符 |
T_SR_EQUAL | >>= | 赋值运算符 |
T_START_HEREDOC | <<< | heredoc 语法 |
T_STATIC | static | 变量范围 |
T_STRING | ||
T_STRING_CAST | (string) | 类型转换 |
T_STRING_VARNAME | ||
T_SWITCH | switch | switch |
T_THROW | throw | 异常处理(自 PHP 5.0.0 起可用) |
T_TRY | try | 异常处理(自 PHP 5.0.0 起可用) |
T_UNSET | unset() | unset() |
T_UNSET_CAST | (unset) | (无文档; 类型为 NULL ) |
T_USE | use | (未实现) |
T_VAR | var | 类和对象 |
T_VARIABLE | $foo | 变量 |
T_WHILE | while | while,do..while |
T_WHITESPACE | ||
T_XOR_EQUAL | ^= | 赋值运算符 |
T_FUNC_C | __FUNCTION__ | 常量,自 PHP 4.3.0 起可用 |
T_CLASS_C | __CLASS__ | 常量,自 PHP 4.3.0 起可用 |
参见 token_name()。