zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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