Только для читателей Lifeexample возможно открыть интернет-магазин на Moguta.CMS со скидкой в 15%
Список переменных php
Здравствуйте, уважаемые читатели блога LifeExample, если среди вас есть те кому часто приходится разбираться в чужом коде, то материал из данной статьи о списке переменных php может , хорошо сэкономить ваше время. Когда вам поступает задание на доработку php скрипта чей-нибудь самодельной СMS, очень полезным бывает узнать список всех переменных, уже определенных до момента отработки текущего скрипта.
Наверняка многие из вас при знакомстве с чужим кодом и алгоритмами его работы, пользуются стандартным методом отладки, вставляя в тело скрипта записи примерно такого вида:
1 2 3 4 5 | echo "1"; print "1"; print_r($array); print_r($_POST); var_dump($var); |
И тому подобные модели отслеживания процесса преобразований над php переменными.
Все это, несомненно, помогает вникнуть в чужую систему, и разобраться с кодом. Но представьте ситуацию, когда чужая система очень хитро обрабатывает все переменные, таким образом, что нельзя с уверенностью сказать в каком месте появилась переменная и какое имя ей присвоено.
В этот момент хорошо бы как-нибудь узнать весь список переменных PHP, определенных ранее, и вывести его для ознакомления.
Как вывести список определенных переменных
Сделать это можно с помощью функции get_defined_vars(), например таким образом:
1 2 3 4 5 | <? echo “<pre>” ; print_r(get_defined_vars()); echo “</pre>”; ?> |
Эта функция get_defined_vars(), вернет многомерный массив, содержащий список всех определенных пользовательских и серверных переменных, в той области видимости, в которой была вызвана.
Для того чтобы получить лишь список названий доступных переменных, можно использовать такую конструкцию:
1 2 3 4 5 | <? echo "<pre>"; print_r(array_keys(get_defined_vars())); echo "</pre>"; ?> |
Согласитесь это очень удобно, знать имена и значения только тех переменных, которые доступны именно в месте вывода.
Кроме get_defined_vars(), может пригодиться вывод глобального массива $GLOBALS для получения данных о данных содержащихся в массивах $_POST, $_GET, $_COOKIE, $_FILES, $_SESSION, $_SERVER, $_ENV .
1 2 3 4 5 | <? echo "<pre>" ; print_r($GLOBALS); echo "</pre>"; ?> |
Теперь вы уважаемые читатели знаете, как просто можно осуществить вывод всех переменных, и спокойно изучать cписок переменных php, не тратя кучу времени, на ручную работу, по отслеживанию объявлений
Читайте также похожие статьи:
Чтобы не пропустить публикацию следующей статьи подписывайтесь на рассылку по E-mail или RSS ленту блога.
Комментарии
давно думал над этим вопросом, как бы понять какие переменные на сайте откуда и т.д. спс)