CakeFest 2024: The Official CakePHP Conference

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

User Contributed Notes 2 notes

up
6
aurelien dot tisserand at wavesoftware dot ch
10 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
4
Bhimsen
11 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