PHP的八个魔术常量
2024-10-09 14:59:30
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
最新文章
- Redis集群~windows下搭建Sentinel环境及它对主从模式的实际意义
- VMware VirtualBox共存时桥接注意
- 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址
- Ubuntu下安装Naginx, PHP5(及PHP-FPM),MySQL
- MarkMan – 马克鳗,让设计更有爱!
- ifconfig
- Linux下find命令
- -bash: rz: command not found
- 微信开放平台,微信登陆第三方网站 提示redirect_uri 参数错误
- Android设计模式系列--观察者模式
- [转]Oracle 调用存储过程并显示结果集 Oracle.DataAccess.Client OracleDbType.RefCursor
- 【夸QT十一】外来物品:通用脚本帮助Web运行基础Linux命令
- Shell 获取当前执行脚本的路径
- c#笔记之启动新线程
- Java 反射 Class类
- servlet第1讲初识
- node.js核心模块
- datetimepicker 使用
- Ehcache配置详解及CacheManager使用
- C# 之 6.0 新特性
热门文章
- 2020-05-27:SpringCloud用了那些组件?分布式追踪链怎么做的?熔断器工作原理?
- node mssql 无法连接sql server
- 校内测试:T1秋末的落叶(命题人gxl)官方题解
- Angular Datatable的一些问题
- 微信小程序内置组件web-view的缓存问题探讨
- ls-remote -h -t git://github.com/adobe-webplatform/eve.git 报错问题
- idea github 上传项目
- 第1章 Spark SQL概述
- Python全局变量的简单使用
- Linux下如何知道是否有人在使坏?