现在的位置: 首页 > 综合 > 正文

PHP 中的 常量 变量 魔术常量 …

2013年05月03日 ⁄ 综合 ⁄ 共 2011字 ⁄ 字号 评论关闭

PHP 向它运行的任何脚本提供了大量的预定义常量
。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有五个魔术常量根据它们使用的位置而改变。例如 __LINE__
的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:
表 13-1. 几个 PHP 的“魔术常量”
名称
说明
__LINE__
文件中的当前行号。
__FILE__
文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__
总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
__FUNCTION__
函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4
中该值总是小写字母的。
__CLASS__
类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4
中该值总是小写字母的。
__METHOD__
类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

--------------------------------------------------------------------------------------------------------

1 : //魔术常量
2 : __LINE__ //文件中的当前行号(包含注释行)
3 : __FILE__ //文件的完整路径和文件名
4 : __FUNCTION__ //当前所在的函数名称(PHP 4.3.0 新增)
5 : __CLASS__ //当前所在的类的名称( PHP 4.3.0 新增)
6 : __METHOD__ //当前所在的类的方法名( PHP 5.0.0 新增)
7 : //内核预定义常量
8 : PHP_VERSION //PHP版本信息和phpversion()结果相同
9 : PHP_OS //操作系统信息

一些典型的应用如下:

1: //操心系统类型判断
2: if (substr(PHP_OS, 0, 3) == 'WIN') {
3:     define('OS_WINDOWS', true);
4: } else {
5:     define('OS_WINDOWS', false);
6: }

 

1: //获取当前文件的文件名和路径
2: echo basename(__FILE__);
3: echo dirname(__FILE__);
内核预定义常量
内核预定义常量 -- 在 PHP 内核、Zend 和 SAPI 模块中定义的常量
描述
这些常量在 PHP 的内核中定义。它包含 PHP、Zend 引擎和 SAPI 模块。

PHP_VERSION (string)
PHP_OS (string)
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
PHP_BINDIR (string)
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
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)

补充:
$HTTP_POST_VARS --使用者透过POST方法传递的资料
$HTTP_GET_VARS --使用者透过GET方法传递的资料
$HTTP_COOKIE_VARS -- 送到目前程序的所有COOKIE
$HTTP_POST_FILES -- 包含所有使用PHP档案上传功能传递的档案资讯
$HTTP_ENV_VARS -- 包含所有环境变数
$HTTP_SERVER_VARS -- 包含所有伺服器送给PHP的变数
$HTTP_SESSION_VARS -- 包含所有目前SESSION的变数
在PHP4.1,上面的变数都自动有比较简短的版本可用,分别是
$_POST
$_GET
$_COOKIE
$ENV
$_SERVER
另外$_REQUEST包含$_POST,$_GET,$_COOKIE

抱歉!评论已关闭.