在PHP中,魔术常量(Magic Constants)是一些预定义的常量,它们的值会根据它们在代码中的位置而变化。这些常量通常以双下划线开头和结尾。以下是PHP中的魔术常量:
__LINE__
php
echo __LINE__; // 输出当前行号
__FILE__
php
echo __FILE__; // 输出当前文件的完整路径和文件名
__DIR__
php
echo __DIR__; // 输出当前文件所在的目录路径
__FUNCTION__
php
function myFunction() {
echo __FUNCTION__; // 输出 "myFunction"
}
myFunction();
__CLASS__
php
class MyClass {
public function getClassName() {
echo __CLASS__; // 输出 "MyClass"
}
}
$obj = new MyClass();
$obj->getClassName();
__TRAIT__
php
trait MyTrait {
public function getTraitName() {
echo __TRAIT__; // 输出 "MyTrait"
}
}
class MyClass {
use MyTrait;
}
$obj = new MyClass();
$obj->getTraitName();
__METHOD__
php
class MyClass {
public function myMethod() {
echo __METHOD__; // 输出 "MyClass::myMethod"
}
}
$obj = new MyClass();
$obj->myMethod();
__NAMESPACE__
php
namespace MyNamespace;
echo __NAMESPACE__; // 输出 "MyNamespace"
这些魔术常量在调试、日志记录、动态代码生成等场景中非常有用,因为它们提供了关于代码执行环境的详细信息。