Я перехожу через исходный код CodeIgniter с Xdebug в NetBeans, и я ищу способ увидеть определенные константы по мере их определения. Если это невозможно, есть ли другие способы отображения всех определенных констант?Как проверить определенные константы в PHP?
ответ
Посмотрите на функцию get_defined_constants
. Он вернет массив всех определенных констант в коде до точки вызова функции. Затем вы можете использовать print_r
для распечатки массива.
Вы, вероятно, хотите, чтобы адаптироваться:
Переменные и константы - это два разных мира ... поэтому нет, он, вероятно, не хочет адаптировать get_defined_vars() – Spooky
Лучшее, что я смог найти нажать F7 (шаг в) в режиме отладки, чтобы ваша постоянная линия выполнена.
define('SOME_CONSTANT','VALUE');
А затем дважды щелкните «SOME_CONSTANT», щелкните правой кнопкой мыши и выбрать добавить новые часы (ярлык: Shift + Ctrl + F7) и добавить новое окно часы будут появляться с постоянной уже заполнена, выберите въезжать и вы должны см. постоянное значение в переменных (если у вас выбран синий бриллиант «Показывать часы внутри переменных») & Наружная панель часов.
Также полезно знать, что вы можете перемещаться по переменным, чтобы увидеть их значение, а не искать в окне «Отладка»> «Переменные» ... просто нужно включить его, поскольку он отключен по умолчанию ... по-видимому, глючит. .. используя последний xdebug, и это было прекрасно для меня до сих пор.
Инструменты> Параметры> PHP> Вкладка Общие> Отладка Раздел> Проверить часы и Balloon оценки
Надеюсь, это все равно будет полезно 2 года спустя.
Такая практика, которую я использую, довольно приличная, поскольку она показывает только пользовательские/пользовательские константы.
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));
Хорошее решение, чтобы не отображать все (Super Globals и т. Д.). Избегает ** дополнительных элементов ... ** в конце списка – Sablefoste
Конечно, это в стандартной библиотеке. D'о! – MiseryIndex
Одна из лучших особенностей PHP заключается в том, что у нее есть почти все, что вам когда-либо понадобится. – MitMaro
Отсюда раздраженный ворчание. ;-) Все еще жду, чтобы узнать, знает ли кто-нибудь, может ли Xdebug отображать константы. – MiseryIndex