千家信息网

怎么使用PHP常用的八个魔术常量

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"怎么使用PHP常用的八个魔术常量",在日常操作中,相信很多人在怎么使用PHP常用的八个魔术常量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用P
千家信息网最后更新 2026年11月02日怎么使用PHP常用的八个魔术常量

这篇文章主要介绍"怎么使用PHP常用的八个魔术常量",在日常操作中,相信很多人在怎么使用PHP常用的八个魔术常量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用PHP常用的八个魔术常量"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

魔术常量是什么

魔术常量准确来说并不能算是常量,常量我们在之前的文章中我们介绍到,常量被定义之后是不能被改变的。但是魔术常量是PHP预定义的一些常量,这些预定义的常量能够因为所在位置的变化而变化。

很多的预定义常量在任意一个脚本中都是PHP提供的,常量不同他们的拓展库也是不同的。魔术常量可以理解为特殊的预定义常量。

其中魔术常量的书写格式通常是用两个下划线(__)开头两个下划线结尾,比如:__LINE__、__FILE__等等。讲到书写格式的话,需要知道,魔术常量不区分大小写,但是尽量书写的时候还是采用大写的形式。

魔术常量的使用

PHP的运行环境中提供了八个魔术常量,就像上文中说的,虽然被叫做常量,但准确来说不算是常量,他们的值随着代码中的变化而改变,接下来我们分别来看一下这八个魔术变量。

1.__LINE__ 表示文件中当前的行号

接下来我们通过示例来看一下__LINE__ 魔术常量的使用,并且看一下随着位置的变化魔术常量的值有什么变化。

示例如下:

';echo '这是第 " ' . __LINE__ . ' " 行
';echo '---------------
';echo '这是第 " ' . __LINE__ . ' " 行';?>

输出结果:

在上述示例中,我们通过魔术变量__LINE__就能够获取当前代码所在位置的行数。

其中需要注意的是:我们能够发现,当代码所在的位置不同,其所输出的结果也是不同的。所以我们上文中说了魔术常量并不能算是常量,它的值随着代码的变化而改变。我们接着往下看:

2.__FILE__ 表示文件的绝对路径

通过__FILE__能够获取文件的绝对路径,并且这个路径包含了文件名。其中需要注意的是,如果该魔术常量用在了包含文件中,那么返回的结果是被包含的文件名。

下面我们通过示例来看一下__FILE__的使用,示例如下:

输出结果:

在上述示例中我们便是通过__FILE__完成了对文件绝对路径的获取。

3.__DIR__ 用于表示文件所在目录

通过__DIR__能够获取文件所在的目录,这个文件所在的目录与__FILE__获取文件的绝对路径还是不一样的,文件所在的目录是不带有当前文件的文件名的。也可以把该魔术常量理解为 dirname(__FILE__)。

下面我们通过示例来看一下__DIR__魔术常量的使用,示例如下:

输出结果:

上述示例中我们通过两种方法,都获取到了当前文件所在的目录,一个是通过__DIR__魔术常量,另一个是dirname(__FILE__),它们俩能够达到的效果是相同的。

4.__FUNCTION__ 用于获取当前函数名或方法名

通过__FUNCTION__能够获取当前函数的名称或者方法的名称,接下来我们通过示例来看一下__FUNCTION__魔术常量的用法。

示例如下:

输出结果:

通过上述示例我们了解__FUNCTION__能够获取当前函数的函数名。

5.__CLASS__ 用于获取当前的类名

通过__CLASS__可以用于获取当前的类名,齐总也包括了当前类的作用区域或命名空间。接下来我们通过示例来看一下__CLASS__的使用。

示例如下:

";  echo '通过__FUNCTION__获取的函数名为:' . __FUNCTION__ ; }}$t = new test();$t->_print();?>

输出结果:

通过上述示例已经了解在PHP中可以通过__CLASS__来获取当前的类名。

6.__TRAIT__ 当前的trait名称

通过__TEAIT__能够表示当前的trait名称,这其中包括了trait的作用区域或者命名空间。接下来我们通过示例来看一下__TRAIT__的使用。

示例如下:

sayHello();?>

输出结果:

7.__METHOD__ 当前的方法名

通过__METHOD__能够获取当前的方法名,其中也包括类名,接下来我们通过示例来看一下__METHOD__的使用方法,示例如下:

';}class TestMethodClass{    function testMethod1()    {        echo '当前的方法名和类名为:' . __METHOD__ . PHP_EOL;     }}testMethod();$test = new TestMethodClass();$test->testMethod1();?>

输出结果:

上述示例中,我们通过__METHOD__获取了函数名和方法名。其中方法名中包括了类名。

8.__NAMESPACE__ 当前文件的命名空间名称

通过__NAMESPACE__可以获取当前文件的命名空间名称,接下来我们通过示例来看一下,示例如下:

输出结果:

到此,关于"怎么使用PHP常用的八个魔术常量"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

常量 魔术 示例 文件 结果 方法 输出 接下来 所在 函数 名称 变化 目录 类名 路径 常用 不同 代码 位置 空间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 互联网是第几次科技革命的成果 互联网巨头反垄断金融科技 上海互联网科技有限公司 善班互联网科技 天津摩尔互联网科技 互联网科技英文翻译 山东吉时兔互联网科技有限公司 现代科技和互联网有关系吗 江苏南京365互联网科技 央行互联网金融科技公司 荆州市昕露互联网络科技有限公司 宜昌元轩互联网科技有限公司 互联网科技扶贫时间 朱啸虎曾投资哪些互联网科技企业 国大互联网教育科技有限公司薪资 半导体行业属于互联网高科技类吗 中国新注册互联网科技 互联网科技对化妆品行业 互联网领先科技成果宣传视频 美国互联网保险保险科技 高科技与互联网 佩信高科技互联网 衡水科技产业互联网平台 成都互联网科技公司100强 福建科技产业互联网发展 河南猎农互联网科技有限公司 中和天地互联网科技有限公司 青岛互联网科技园 广州全民伙伴互联网科技有限公司
0