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)

参见

add a note add a note

User Contributed Notes 2 notes

up
1
aurelien dot tisserand at wavesoftware dot ch
11 years ago
If the $name constant doesn't exist in the targetted class the function returns bool(false), not empty nor null but false (you to test with "==="

$constFounded = false ;
$this->currentlangClass = new ReflectionClass($langFile);
$this->currentlangClass->getConstant($constant);
if($myConst !== false){
              $constFounded = true ;
}
up
1
Bhimsen
12 years ago
The "getconstant" method can be used to get the value associated with a constant
of a particular class that you are examining.
The following code snippet shows this:

<?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";
   
?>

output:
Number one
Number two
To Top