📜  PHP的magic常量(1)

📅  最后修改于: 2023-12-03 15:03:45.683000             🧑  作者: Mango

PHP的Magic常量

在PHP中,存在很多特殊的常量,可以在程序中自动获取到一些有用的信息,这些被称为Magic常量。

LINE

__LINE__ 常量可以返回当前行号,用于调试程序时定位代码。

echo "当前行号:" . __LINE__; //输出结果:当前行号:3
FILE

__FILE__ 常量可以返回当前文件的完整路径和文件名。

echo "当前文件:" . __FILE__; //输出结果:当前文件:C:\wamp64\www\test.php
DIR

__DIR__ 常量可以返回当前文件所在目录的完整路径。

echo "当前目录:" . __DIR__; //输出结果:当前目录:C:\wamp64\www
FUNCTION

__FUNCTION__ 常量可以返回当前函数的函数名。

function test() {
    echo "当前函数:" . __FUNCTION__; //输出结果:当前函数:test
}
test();
CLASS

__CLASS__ 常量可以返回当前类的类名(包含了命名空间的名称)。

class MyClass {
    public function showClassName() {
        echo "当前类:" . __CLASS__; //输出结果:当前类:MyClass
    }
}
$obj = new MyClass();
$obj->showClassName();
TRAIT

__TRAIT__ 常量可以返回当前trait的名称(包含了命名空间的名称)。

trait MyTrait {
    public function showTraitName() {
        echo "当前trait:" . __TRAIT__; //输出结果:当前trait:MyTrait
    }
}
class MyClass {
    use MyTrait;
}
$obj = new MyClass();
$obj->showTraitName();
METHOD

__METHOD__ 常量可以返回当前方法的方法名(包含了类名)。

class MyClass {
    public function test() {
        echo "当前方法:" . __METHOD__; //输出结果:当前方法:MyClass::test
    }
}
$obj = new MyClass();
$obj->test();
NAMESPACE

__NAMESPACE__ 常量可以返回当前命名空间的名称。

namespace MyNamespace;
echo "当前命名空间:" . __NAMESPACE__; //输出结果:当前命名空间:MyNamespace

以上就是PHP中的Magic常量,这些常量非常有用,可以让我们更方便地编写代码和调试。