Только для читателей Lifeexample возможно открыть интернет-магазин на Moguta.CMS со скидкой в 15%

<<< Капча на PHP || jQuery сортировка таблицы >>>

Список переменных php

11.05.2012
Список переменных 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 ленту блога.

Нравится

Комментарии

  • Нумизмат

    давно думал над этим вопросом, как бы понять какие переменные на сайте откуда и т.д. спс)

  • Оставить комментарий

    Не отвечать

    Подписаться на комментарии к этой статье по RSS

    Яндекс.Метрика