Używam xdebug (php_xdebug-2.1.2-5.3-vc9.dll) na WAMP . Kiedy używam var_dump
dużego obiektu lub zmiennej, nie wyświetla pełnej zmiennej.
array
'node' =>
array
'my_form' =>
array
'form' =>
array
...
Bez xdebug pokazuje, jak należy się spodziewać. Przejrzałem dokumentację, ale nie znalazłem rozwiązania. Czy ktoś wie, jak to naprawić, aby xdebug var_dump
wyświetlał pełny obiekt?
Odpowiedzi:
Są to zmienne konfigurowalne w php.ini:
Oczywiście można je również ustawić w czasie wykonywania
ini_set()
, co jest przydatne, jeśli nie chcesz modyfikować pliku php.ini i restartować serwer WWW, ale musisz szybko sprawdzić coś głębiej.Ustawienia Xdebug są wyjaśnione w oficjalnej dokumentacji .
źródło
display_max_depth
z 5 nie jest rozsądny, jeśli faktycznie spodziewasz się uzyskać od ciebie jakieś informacjevar_dump
Wiem, że to bardzo stary post, ale pomyślałem, że to może być pomocne.
Jeśli nie masz ochoty czytać formatu json, możesz zastąpić swój var_dump:
Używam tego do rozwiązywania problemów z usługą, którą buduję, która ma głęboko zagnieżdżone tablice. Spowoduje to zwrócenie każdego poziomu tablicy bez obcinania czegokolwiek i konieczności zmiany pliku php.ini.
Ponadto, ponieważ dane zakodowane w formacie json są ciągiem, oznacza to, że można łatwo zapisać je w dzienniku błędów
Prawdopodobnie nie jest najlepszym wyborem dla każdej sytuacji, ale jest wyborem!
źródło
Lub możesz użyć alternatywy:
https://github.com/kint-php/kint
Działa z ustawieniem zerowym i ma znacznie więcej funkcji niż var_dump Xdebuga. Aby ominąć limit zagnieżdżenia w locie za pomocą Kint, po prostu użyj
źródło
Wiem, że jest późno, ale może się przydać:
źródło
print_r()
to nie zastępuje var_dump.KASY ustawienia var_dump Xdebbug za , szczególnie wartości tych ustawień:
źródło
Chciałbym polecić
var_export($array)
- nie pokazuje typów, ale generuje składnię, której można użyć w kodzie :)źródło