Как мне проверить определенные константы в PHP?
Вопрос
Я просматриваю исходный код CodeIgniter с помощью Xdebug в NetBeans и ищу способ увидеть определенные константы в том виде, в каком они определены.Если это невозможно, существуют ли какие-либо другие способы отображения всех определенных констант?
Решение
Взгляните на get_defined_constants
функция.Он вернет массив всех определенных констант в коде вплоть до момента вызова функции.Затем вы можете использовать print_r
чтобы распечатать массив.
Другие советы
Этот вид практики, который я использую, вполне приличный, поскольку он показывает только пользовательские константы.
print_r(var_export(get_defined_constants(true)['user'], true));
Оберните это в теги pre или просто просмотрите исходный код, и вы получите очень хороший массив всего, что вы определили.
Обратите внимание, что это не будет работать с php 5.3. * где в 5.4. * выводится нормально.
В более ранних версиях php, get_defined_constants()
сначала должно быть присвоено переменной, перед выводом.Что-то вроде этого.
$gdc = get_defined_constants(true);
print_r( var_export($gdc['user'], true) );
Вы, вероятно, хотите адаптироваться:
Лучшее, что я смог найти, это нажать F7 (step into) в режиме отладки, чтобы выполнить вашу постоянную строку.
define('SOME_CONSTANT','VALUE');
А затем дважды щелкните "SOME_CONSTANT", щелкните правой кнопкой мыши и выберите добавить новые часы (ярлык:shift + ctrl + F7), и появится окно добавления новых часов с предварительно заполненной константой, выберите enter, и вы должны увидеть значение вашей константы в переменных (если у вас выбран параметр blue diamond "Показывать часы в режиме просмотра переменных") и панели окна часов.
Также весьма удобно знать, что вы можете навести курсор мыши на переменные, чтобы увидеть их значение, в отличие от поиска в панели "Отладка > Переменные"...просто нужно включить его, поскольку по умолчанию он выключен ... видимо, глючит ... использую последнюю версию xdebug, и пока у меня все было в порядке.
Инструменты> Параметры> PHP> Вкладка "Общие"> Раздел "Отладка"> Проверка часов и оценка Balloon
Надеюсь, это все еще будет полезно 2 года спустя.