在PHP中,魔术常量是一组预定义的常量,它们以双下划线 __ 开头,以双下划线结束。这些常量具有特殊的意义,它们不需要被定义,可以直接在任何地方使用。以下是一些常见的PHP魔术常量:

1. __LINE__: 获取当前行号。
    echo __LINE__;  // 输出当前行号

2. __FILE__: 获取当前文件的完整路径和文件名。
    echo __FILE__;  // 输出当前文件的路径和文件名

3. __DIR__: 获取当前文件所在的目录。
    echo __DIR__;  // 输出当前文件所在的目录

4. __FUNCTION__: 获取当前函数的名称。
    function example() {
        echo __FUNCTION__;  // 输出当前函数的名称
    }

    example();

5. __CLASS__: 获取当前类的名称。
    class MyClass {
        public function showClassName() {
            echo __CLASS__;  // 输出当前类的名称
        }
    }

    $obj = new MyClass();
    $obj->showClassName();

6. __METHOD__: 获取当前方法(函数)的名称。
    class MyClass {
        public function showMethodName() {
            echo __METHOD__;  // 输出当前方法的名称
        }
    }

    $obj = new MyClass();
    $obj->showMethodName();

7. __NAMESPACE__: 获取当前命名空间的名称。
    namespace MyNamespace;

    echo __NAMESPACE__;  // 输出当前命名空间的名称

8. __TRAIT__: 获取当前 trait 的名称。
    trait MyTrait {
        public function showTraitName() {
            echo __TRAIT__;  // 输出当前 trait 的名称
        }
    }

    class MyClass {
        use MyTrait;
    }

    $obj = new MyClass();
    $obj->showTraitName();

这些魔术常量在调试、记录日志、自动加载类等场景中非常有用,它们提供了一种方便获取运行时信息的方式。请注意,魔术常量是不区分大小写的。


转载请注明出处:http://www.pingtaimeng.com/article/detail/3408/PHP