魔术常量2025年3月22日 | 阅读4分钟 魔术常量是 PHP 中预定义的常量,它们的取值会根据其在代码中的使用位置而变化。它们以双下划线(__)开头,并以双下划线(__)结尾。 它们与其他预定义常量类似,但由于它们的值会根据上下文而改变,因此被称为 **魔术** 常量。 PHP 中共有 **九个** 魔术常量。其中八个魔术常量以双下划线(__)开头和结尾。 与常规常量不同,所有这些常量都在编译时而不是运行时解析。魔术常量不区分大小写。 Changelog
所有常量均在下方通过示例代码进行定义 1. __LINE__它返回文件当前行的行号,在该行号处使用了此常量。 示例立即执行输出 Example for __LINE__ You are at line number 4 2. __FILE__此魔术常量返回已执行文件的完整路径,其中存储了该文件。如果它在 include 语句中使用,则返回被包含文件的名称。 示例立即执行输出 Example for __FILE__ D:\xampp\htdocs\program\magic.php 3. __DIR__它返回已执行文件的完整目录路径。此魔术常量返回的路径等同于 dirname(__FILE__)。除非是根目录,否则此魔术常量不带尾部斜杠。 示例立即执行输出 Example for __DIR__ D:\xampp\htdocs\program D:\xampp\htdocs\program 4. __FUNCTION__此魔术常量返回函数名,在该函数名处使用了此常量。如果它在任何函数外部使用,则返回空字符串。 示例立即执行输出 Example for __FUNCTION__T The function name is test Hi 5. __CLASS__它返回类名,在该类名处使用了此魔术常量。__CLASS__ 常量在 trait 中也有效。 示例立即执行输出 Example for __CLASS__JTP JTP base 6. __TRAIT__此魔术常量返回 trait 名称,在该 trait 名称处使用了它。 示例立即执行输出 Example for __TRAIT__ created_trait 7. __METHOD__它返回包含此魔术常量的类方法的名称。返回的方法名与其声明时相同。 示例立即执行输出 Example for __METHOD__ method:: construct method:: meth_fun 8. __NAMESPACE__它返回当前使用的命名空间。 示例立即执行输出 Example for __NAMESPACE__ This line will print on calling namespace. 9. ClassName::class此魔术常量不以双下划线(__)开头和结尾。它返回 ClassName 的完全限定名。ClassName::class 在 **PHP 5.5.0** 中添加。对于带有命名空间的类非常有用。 示例立即执行输出 Example for CLASSNAME::CLASS Technical_Portal\tpointtech 注意:请记住,命名空间必须是脚本中的第一条语句,或者紧跟在任何 declare 调用之后,否则将导致致命错误。下一个主题PHP 数据类型 |
我们请求您订阅我们的新闻通讯以获取最新更新。