获取PHP类之外的常量列表

时间:2019-05-09 21:11:08

标签: php reflection constants

我试图获取所有在PHP类之外定义的常量的列表,但前提是它们必须以特定的前缀开头(请参见this tutorial)并看到了ReflectionClass::getConstants的功能,但是这需要一堂课。

如果常量是在类外部定义的,如何实现相同的功能?

1 个答案:

答案 0 :(得分:1)

您可以使用内置功能get_defined_constants。它将列出所有常量,甚至包括来自Core PHP和已加载的扩展的常量。您可以将true作为参数进行分类。要仅获取用户域常量(从constdefine()中获得),请使用get_defined_constants(true)['user']

<?php

define('DEFINED_CONST', 'foo');
const myConst = 1;

print_r(get_defined_constants(true)['user']);

打印:

Array
(
    [DEFINED_CONST] => foo
    [myConst] => 1
)