AI智能
改变未来

PHP的八个魔术常量


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. 使用示例

前四个魔术常量

<?phpecho __LINE__;//3echo __FILE__;//E:\\www\\1.phpecho __DIR__;//E:\\wwwecho userList();//userListfunction userList(){echo __FUNCTION__;}

后四个魔术常量

<?phpnamespace 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\\Userecho __METHOD__;//app\\controller\\User::test}}User::test();User::demo();echo __NAMESPACE__;//app\\controller
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » PHP的八个魔术常量