在PHP中,魔术常量是一组预定义的常量,它们会根据它们使用的上下文环境而改变其值。这些常量以两个下划线字符开始和结束。魔术常量提供了有关代码执行环境的有用信息,例如当前文件的路径、当前行号等。
以下是几个常用的PHP魔术常量及其用途:
__FILE__: __FILE__ 魔术常量返回了它所在的脚本文件的完整路径和文件名。/var/www/html/example.php 中使用 __FILE__,它将返回字符串 /var/www/html/example.php。__LINE__: __LINE__ 魔术常量返回了它所在的行号。__LINE__,它将返回整数 10。__DIR__: __DIR__ 魔术常量返回了脚本文件所在的目录。/var/www/html/example.php 中使用 __DIR__,它将返回字符串 /var/www/html。__FUNCTION__: __FUNCTION__ 魔术常量返回了函数名称。注意,从PHP 8.0开始,推荐使用 __FUNCTION__ 的别名 function_name()。myFunction 中使用 __FUNCTION__,它将返回字符串 myFunction。__CLASS__: __CLASS__ 魔术常量返回了类的名称。MyClass 中使用 __CLASS__,它将返回字符串 MyClass。__TRAIT__: __TRAIT__ 魔术常量返回了trait的名称。Trait是PHP中用于代码复用的语言结构。MyTrait 中使用 __TRAIT__,它将返回字符串 MyTrait。__METHOD__: __METHOD__ 魔术常量返回了类的方法名。MyClass 的方法 myMethod 中使用 __METHOD__,它将返回字符串 MyClass::myMethod。__NAMESPACE__: __NAMESPACE__ 魔术常量返回了当前命名空间的名称。MyNamespace 中使用 __NAMESPACE__,它将返回字符串 MyNamespace。魔术常量在PHP开发中非常有用,因为它们提供了关于代码执行环境的即时信息,而无需使用额外的函数或方法调用来获取这些信息。