开启辅助访问
帐号登录 |立即注册

PHP的八个魔术常量详解

 
PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。PHP有八个魔术常量它们的值随着它们在代码中的位置改变而改变。
魔术常量
魔术常量属于特殊的预定义常量,这些常量可以根据它们的使用位置而变化。魔术常量通常以两个下划线__开头,并以两个下划线__结尾

PHP 中魔术常量有八个,如下所示:
__LINE__ :文件中的当前行号;<?php
echo '这是第 “ '  . __LINE__ . ' ” 行';
?>
以上实例输出结果为:
这是第 “ 2 ” 行


__FILE__:当前文件的绝对路径(包含文件名);
<?php
echo '该文件位于 “ '  . __FILE__ . ' ” ';
?>
以上实例输出结果为:
该文件位于 " E:\wamp\www\test\index.php "

__DIR__:当前文件的绝对路径(不包含文件名),等价于 dirname(__FILE__);
<?php
echo '该文件位于 “ '  . __DIR__ . ' ” ';
?>
以上实例输出结果为:
该文件位于 “ E:\wamp\www\test ”

__FUNCTION__:当前函数(或方法)的名称;
<?php
function test() {
echo  '函数名为:' . __FUNCTION__ ;
}
test();
?>
以上实例输出结果为:
函数名为:test


__CLASS__:当前的类名(包括该类的作用区域或命名空间);
<?php
class test {
function _print() {
echo '类名为:'  . __CLASS__ . "<br>";
echo  '函数名为:' . __FUNCTION__ ;
}
}
$t = new test();
$t->_print();
?>
以上实例输出结果为:
类名为:test
函数名为:_print

__TRAIT__:当前的 trait 名称(包括该 trait 的作用区域或命名空间);

__METHOD__:当前的方法名(包括类名);
<?php
function test() {
echo  '函数名为:' . __METHOD__ ;
}
test();
?>
以上实例输出结果为:
函数名为:test

__NAMESPACE__:当前文件的命名空间的名称。
<?php
namespace MyProject;
echo '命名空间为:"', __NAMESPACE__, '"'; // 输出 "MyProject"
?>
以上实例输出结果为:
命名空间为:"MyProject"
注意:与预定义常量不同,魔术常量是不区分大小写的。





回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。