ReflectionClass::getConstant

(PHP 5, PHP 7, PHP 8)

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

说明

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

获取已定义的常量。

Warning

本函数还未编写文档,仅有参数列表。

参数

name

要获取的类常量的名称。

返回值

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

范例

Example #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)

参见

User Contributed Notes

aurelien dot tisserand at wavesoftware dot ch 08-Nov-2013 03:27
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 ;
}
Bhimsen 31-May-2012 05:46
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