PHP 魔术常量


PHP 魔术常量

概述

PHP 魔术常量是一种自动定义的常量,不需要手动定义即可使用。它们是 PHP 中的预定义常量,可以在任何地方使用。魔术常量的名称都是以两个下划线开始和结束的,如 LINEFILE 等。

魔术常量列表

PHP 中有多个魔术常量,以下是其中一部分:

LINE

用于获取当前行号,返回一个整数值。例如:

echo __LINE__; // 输出当前行号

FILE

用于获取当前文件名,返回一个字符串值。例如:

echo __FILE__; // 输出当前文件名

DIR

用于获取当前目录,返回一个字符串值。例如:

echo __DIR__; // 输出当前目录

FUNCTION

用于获取当前函数名,返回一个字符串值。例如:

function test() {
  echo __FUNCTION__; // 输出当前函数名
}

test();

CLASS

用于获取当前类名,返回一个字符串值。例如:

class Test {
  public function displayClass() {
    echo __CLASS__; // 输出当前类名
  }
}

$test = new Test();
$test->displayClass();

METHOD

用于获取当前方法名,返回一个字符串值。例如:

class Test {
  public function displayMethod() {
    echo __METHOD__; // 输出当前方法名
  }
}

$test = new Test();
$test->displayMethod();

NAMESPACE

用于获取当前命名空间名,返回一个字符串值。例如:

namespace MyNamespace;

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

注意事项

  • 魔术常量在 PHP 5.3.0 及更高版本中可用。
  • 所有魔术常量均为只读常量,不可被修改或删除。
  • 魔术常量的值在不同的上下文中可能会有所不同,如 NAMESPACE 的值在不同的命名空间中可能会有所区别。