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


前四个魔术常量

<?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
posted @ 2020-07-30 21:28  辰风沐阳  阅读(189)  评论(0编辑  收藏  举报