插件窝 干货文章 php中魔术常量有哪些

php中魔术常量有哪些

示例 当前 常量 输出 301    来源:    2025-03-16

在PHP中,魔术常量(Magic Constants)是一些预定义的常量,它们的值会根据它们在代码中的位置而变化。这些常量通常以双下划线开头和结尾。以下是PHP中的魔术常量:

  1. __LINE__

    • 返回当前行号。
    • 示例: php echo __LINE__; // 输出当前行号
  2. __FILE__

    • 返回当前文件的完整路径和文件名。
    • 示例: php echo __FILE__; // 输出当前文件的完整路径和文件名
  3. __DIR__

    • 返回当前文件所在的目录路径(不包含文件名)。
    • 示例: php echo __DIR__; // 输出当前文件所在的目录路径
  4. __FUNCTION__

    • 返回当前函数的名称(在函数内部使用)。
    • 示例: php function myFunction() { echo __FUNCTION__; // 输出 "myFunction" } myFunction();
  5. __CLASS__

    • 返回当前类的名称(在类内部使用)。
    • 示例: php class MyClass { public function getClassName() { echo __CLASS__; // 输出 "MyClass" } } $obj = new MyClass(); $obj->getClassName();
  6. __TRAIT__

    • 返回当前Trait的名称(在Trait内部使用)。
    • 示例: php trait MyTrait { public function getTraitName() { echo __TRAIT__; // 输出 "MyTrait" } } class MyClass { use MyTrait; } $obj = new MyClass(); $obj->getTraitName();
  7. __METHOD__

    • 返回当前方法的名称(在方法内部使用)。
    • 示例: php class MyClass { public function myMethod() { echo __METHOD__; // 输出 "MyClass::myMethod" } } $obj = new MyClass(); $obj->myMethod();
  8. __NAMESPACE__

    • 返回当前命名空间的名称(在命名空间内部使用)。
    • 示例: php namespace MyNamespace; echo __NAMESPACE__; // 输出 "MyNamespace"

这些魔术常量在调试、日志记录、动态代码生成等场景中非常有用,因为它们提供了关于代码执行环境的详细信息。