PHP的八个魔术常量
2023-03-07 09:43:23 时间
1. 什么魔术常量
预定义常量:预定义常量就是PHP内置的常量,预先定义好的
PHP有很多预定义常量,比如:PHP_VERSION(版本号)、PHP_OS(操作系统)。
这些普通的预定义常量在程序中的值是固定的,不会因为在不同的位置而改变自身的值。
在PHP有八个特殊的预定义常量,它们的值会随着它们在代码中的位置改变而改变,我们称之为魔术常量。
2. PHP的8个魔术常量
序号 | 魔术常量 | 示例 | 描述 |
---|---|---|---|
1 | __LINE__ | 5 | 返回魔术常量输出时所在的行号 |
2 | __FILE__ | E:\www\1.php | 返回文件路径(绝对路径) |
3 | __DIR__ | E:\www | 返回文件所在的目录,当前文件位置:E:\www\1.php |
4 | __FUNCTION__ | taskList | 返回函数名称,区分大小写,不在函数中时返回空字符串 |
5 | __CLASS__ | app\controller\User | 返回当前所在类名,包含命名空间,区分大小写 |
6 | __METHOD__ | app\controller\User:test | 返回当前所在方法名,包含命名空间,区分大小写 |
7 | __NAMESPACE__ | app\controller | 返回当前命名空间,区分大小写 |
8 | __TRAIT__ | app\controller\Person | 返回当前所在Trait名,包含命名空间,区分大小写 |
3. 使用示例
前四个魔术常量
<?php
echo __LINE__;//3
echo __FILE__;//E:\www\1.php
echo __DIR__;//E:\www
echo userList();//userList
function userList()
{
echo __FUNCTION__;
}
后四个魔术常量
<?php
namespace app\controller;
trait Person {
public static function demo()
{
echo __TRAIT__;//app\controller\Person
}
}
class User
{
use Person;
public static function test()
{
echo __CLASS__;//app\controller\User
echo __METHOD__;//app\controller\User::test
}
}
User::test();
User::demo();
echo __NAMESPACE__;//app\controller
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的