ReflectionClass::getConstants

(PHP 5)

ReflectionClass::getConstantsRécupère les constantes

Description

public array ReflectionClass::getConstants ( void )

Récupère les constantes définies d'une classe.

Avertissement

Cette fonction n'est pas documentée et seule la liste des arguments est disponible.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Un tableau de constantes. Le nom des constantes sont dans les clés, la valeur des constantes dans les valeurs.

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
1
djhob1972 at yahoo dot com dot au
4 years ago
I was trying to determine how to get a var_dump of constants that are within an interface.  Thats right, not using any classes but the interface itself.

Along my travels I found it quite interesting that the ReflectionClass along with a direct call to the interface will also dump its constants.  Perfect!!!!

This was using PHP 5.3.1 and my example as below:-

1st File:

constants.php

<?php
<?php>

interface
MyConstants
{
   
// --------------------------
    // Programmatic Level
    // --------------------------
   
const DEBUG_MODE_ACTIVE       = FALSE;
    const
PHP_VERSION_REQUIREMENT = "5.1.2";
}
?>

=======
Second file:
=======

test.php

<?php>
include_once (
"constants.php");

$oClass = new ReflectionClass ('MyConstants');
$array = $oClass->getConstants ();
var_dump ($array);
unset (
$oClass);
?>

what you would get from the command line:-

?:\???\htdocs\????>php test.php
array(2) {
  ["DEBUG_MODE_ACTIVE"]=> bool(false)
  ["PHP_VERSION_REQUIREMENT"]=> string(5) "5.1.2"

But as you can see this can work quite well to your advantage in many ways so I truely hope this helps someone else with a similar headache in the future to come!

Enjoy!
up
1
davide dot renzi at gmail dot com
2 months ago
If you want to return the constants defined inside a class then you can also define an internal method as follows:

<?php
class myClass {
    const
NONE = 0;
    const
REQUEST = 100;
    const
AUTH = 101;

   
// others...

   
static function getConstants() {
       
$oClass = new ReflectionClass(__CLASS__);
        return
$oClass->getConstants();
    }
}
?>
up
0
shgninc at gmail dot com
9 months ago
I use a functions to do somthing base on the class constant name as below. This example maybe helpful for everybody.
<?php
public function renderData($question_type = NULL, $data = array()) {
       
$types = array();
       
$qt = new ReflectionClass(questionType);
       
$types = $qt->getConstants();
        if (
$type = array_search($question_type, $types)){
               
//.....Do somthing
}
}
?>
To Top