PHP Conference Japan 2024

ReflectionClass::getConstant

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getConstant获取已定义的常量

描述

public ReflectionClass::getConstant(string $name): mixed

获取已定义的常量。

参数

name

要获取的类常量的名称。

返回值

名为 name 的常量的值。如果在类中找不到该常量,则返回 false

示例

示例 #1 ReflectionClass::getConstant() 的用法

<?php

class Example {
const
C1 = false;
const
C2 = 'I am a constant';
}

$reflection = new ReflectionClass('Example');

var_dump($reflection->getConstant('C1'));
var_dump($reflection->getConstant('C2'));
var_dump($reflection->getConstant('C3'));
?>

以上示例的输出如下:

bool(false)
string(15) "I am a constant"
bool(false)

参见

添加注释

用户贡献的注释 2 个注释

aurelien dot tisserand at wavesoftware dot ch
11 年前
如果目标类中不存在 $name 常量,则该函数返回 bool(false),而不是空值或 null,而是 false(您需要使用 "===" 进行测试)

$constFounded = false ;
$this->currentlangClass = new ReflectionClass($langFile);
$this->currentlangClass->getConstant($constant);
if($myConst !== false){
$constFounded = true ;
}
Bhimsen
12 年前
“getconstant” 方法可用于获取与您正在检查的特定类的常量关联的值。

以下代码段显示了这一点

<?php
class Test{
const
ONE = "Number one";
const
TWO = "Number two";
}

$obj = new ReflectionClass( "Test" );
echo
$obj->getconstant( "ONE" )."\n";
echo
$obj->getconstant( "TWO" )."\n";

?>

输出
Number one
Number two
To Top