📅  最后修改于: 2023-12-03 15:03:45.683000             🧑  作者: Mango
在PHP中,存在很多特殊的常量,可以在程序中自动获取到一些有用的信息,这些被称为Magic常量。
__LINE__
常量可以返回当前行号,用于调试程序时定位代码。
echo "当前行号:" . __LINE__; //输出结果:当前行号:3
__FILE__
常量可以返回当前文件的完整路径和文件名。
echo "当前文件:" . __FILE__; //输出结果:当前文件:C:\wamp64\www\test.php
__DIR__
常量可以返回当前文件所在目录的完整路径。
echo "当前目录:" . __DIR__; //输出结果:当前目录:C:\wamp64\www
__FUNCTION__
常量可以返回当前函数的函数名。
function test() {
echo "当前函数:" . __FUNCTION__; //输出结果:当前函数:test
}
test();
__CLASS__
常量可以返回当前类的类名(包含了命名空间的名称)。
class MyClass {
public function showClassName() {
echo "当前类:" . __CLASS__; //输出结果:当前类:MyClass
}
}
$obj = new MyClass();
$obj->showClassName();
__TRAIT__
常量可以返回当前trait的名称(包含了命名空间的名称)。
trait MyTrait {
public function showTraitName() {
echo "当前trait:" . __TRAIT__; //输出结果:当前trait:MyTrait
}
}
class MyClass {
use MyTrait;
}
$obj = new MyClass();
$obj->showTraitName();
__METHOD__
常量可以返回当前方法的方法名(包含了类名)。
class MyClass {
public function test() {
echo "当前方法:" . __METHOD__; //输出结果:当前方法:MyClass::test
}
}
$obj = new MyClass();
$obj->test();
__NAMESPACE__
常量可以返回当前命名空间的名称。
namespace MyNamespace;
echo "当前命名空间:" . __NAMESPACE__; //输出结果:当前命名空间:MyNamespace
以上就是PHP中的Magic常量,这些常量非常有用,可以让我们更方便地编写代码和调试。