PHP保留字/预定义常量/解析器代号

一、关键词列表

这些词语在 PHP 中有着特殊的意义。它们中有些像是函数,有些像是常量……但是它们不是的,它们只是语言结构的一部分。不能使用它们的任何一个作为常量、方法名或是类名。但是可以将它们作为变量名使用,不过这样会导致混淆。

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 whiledo..while
T_WHITESPACE    
T_XOR_EQUAL ^= 赋值运算符
T_FUNC_C __FUNCTION__ 常量,自 PHP 4.3.0 起可用
T_CLASS_C __CLASS__ 常量,自 PHP 4.3.0 起可用

参见 token_name()



专注于机器学习、前端相关邻域。关注 全栈深入 公众号查看更多硬核文章。
原文地址:https://www.cnblogs.com/janas/p/2665553.html