1. 魔术常量的定义
魔术常量是在运行时被自动定义的特殊常量,它们的名称以__
开头。这些常量可以用于访问和改变当前脚本一些内部的操作和状态。
2. __LINE__ 与 __FILE__
2.1 __LINE__
__LINE__
常量用于返回当前代码行号。
$line = __LINE__;
2.2 __FILE__
__FILE__
常量返回当前文件的绝对路径。
$file = __FILE__;
3. 其他常用的魔术常量
3.1 __DIR__
__DIR__
常量返回当前文件所在的目录。
$dir = __DIR__;
3.2 __FUNCTION__
__FUNCTION__
常量返回当前运行的函数名。
function foo(){
$func = __FUNCTION__;
}
3.3 __CLASS__
__CLASS__
常量返回当前运行的类名。
class testClass{
public function __construct(){
$class = __CLASS__;
}
}
3.4 __TRAIT__
__TRAIT__
常量用于返回当前运行的 trait 名称。
trait testTrait{
public function bar(){
$trait = __TRAIT__;
}
}
3.5 __METHOD__
__METHOD__
常量用于返回当前运行的方法名。
class foo{
public function bar(){
$method = __METHOD__;
}
}
3.6 __NAMESPACE__
__NAMESPACE__
常量用于返回当前命名空间的名称。
namespace myProject;
$namespace = __NAMESPACE__;
4. 总结
通过了解魔术常量,我们可以更好地理解并掌握 PHP 的内部机制和运行状态,在编写代码时更加灵活高效。