Как я вижу ** все ** определенные в настоящее время переменные в PHP? - PullRequest
3 голосов
/ 13 мая 2010

Мне нужен способ увидеть все определенные переменные текущего экземпляра PHP.
Под текущим определением я подразумеваю все глобальные, все локальные для ЭТОЙ области и все локальные для других областей.
Есть что-то встроенное?

Ответы [ 2 ]

8 голосов
/ 13 мая 2010

Для всего в текущей области:

print_r(get_defined_vars());

Я не думаю, что существует решение для сброса всех переменных из всех областей, потому что вам нужно будет запустить эти функции / методы, чтобы получить полную и неповрежденную карту всех доступных переменных (переменные могут быть созданы, добавлены и удаляется во время выполнения).

Возможно, вам придется обратиться к модульному тестированию или инструментам покрытия кода, чтобы узнать, можете ли вы использовать что-либо из этих областей, но это будет большая работа.

Зачем вам это нужно?

2 голосов
/ 13 мая 2010

var_dump ($ GLOBALS);

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

{
    $a = new myClass();
    do stuff
    $a->destroy();
}
print "$a has no meaning in this context";
...