PHP魔术常量:__LINE__ __FILE__ __CLASS__

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值