2009-12-08 7 views

ответ

12

Посмотрите на функцию get_defined_constants. Он вернет массив всех определенных констант в коде до точки вызова функции. Затем вы можете использовать print_r для распечатки массива.

+1

Конечно, это в стандартной библиотеке. D'о! – MiseryIndex

+0

Одна из лучших особенностей PHP заключается в том, что у нее есть почти все, что вам когда-либо понадобится. – MitMaro

+0

Отсюда раздраженный ворчание. ;-) Все еще жду, чтобы узнать, знает ли кто-нибудь, может ли Xdebug отображать константы. – MiseryIndex

3

Вы, вероятно, хотите, чтобы адаптироваться:

$arr = get_defined_vars();

+0

Переменные и константы - это два разных мира ... поэтому нет, он, вероятно, не хочет адаптировать get_defined_vars() – Spooky

1

Лучшее, что я смог найти нажать F7 (шаг в) в режиме отладки, чтобы ваша постоянная линия выполнена.

define('SOME_CONSTANT','VALUE'); 

А затем дважды щелкните «SOME_CONSTANT», щелкните правой кнопкой мыши и выбрать добавить новые часы (ярлык: Shift + Ctrl + F7) и добавить новое окно часы будут появляться с постоянной уже заполнена, выберите въезжать и вы должны см. постоянное значение в переменных (если у вас выбран синий бриллиант «Показывать часы внутри переменных») & Наружная панель часов.

Также полезно знать, что вы можете перемещаться по переменным, чтобы увидеть их значение, а не искать в окне «Отладка»> «Переменные» ... просто нужно включить его, поскольку он отключен по умолчанию ... по-видимому, глючит. .. используя последний xdebug, и это было прекрасно для меня до сих пор.

Инструменты> Параметры> PHP> Вкладка Общие> Отладка Раздел> Проверить часы и Balloon оценки

Надеюсь, это все равно будет полезно 2 года спустя.

4

Такая практика, которую я использую, довольно приличная, поскольку она показывает только пользовательские/пользовательские константы.

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

Оберните это в предварительные теги или просто просмотрите источник, и вы получите очень хороший массив из всего, что вы определили.

Обратите внимание, что это не будет работать с php 5.3. * Где в 5.4. * Он выводится нормально.

В более ранних версиях php get_defined_constants() должен быть назначен переменной сначала перед выходом. Что-то вроде этого.

$gdc = get_defined_constants(true); 
print_r(var_export($gdc['user'], true)); 
+0

Хорошее решение, чтобы не отображать все (Super Globals и т. Д.). Избегает ** дополнительных элементов ... ** в конце списка – Sablefoste