2012-09-14 10 views
10

Potrzebuję przejść do kodu po stronie serwera. Jest tam używany cakephp. Chciałbym zobaczyć zmienną, myślę, że jest to model, ale nie jestem pewien, niech będzie zmienna w lub w przypadku.cakephp zapisuje tablicę jako var_dump

CakeLog::write('debug', 'myArray'.var_export($myArray)); 

będzie miał wyjścia

myArray: Array 

chciałbym zobaczyć podobny wynik jak var_dump może produkować do wyjścia.

Czy to możliwe? jeśli tak, to w jaki sposób?

Każda pomoc została oceniona.

+0

Po prostu zrobiłem var_dum ($ myarray); w moim kontrolerze i otrzymałem wydrukowaną tablicę w moim widoku. może to pomóc. – Meer

Odpowiedz

15

Wystarczy użyć print_r, przyjmuje drugi argument nie do wyprowadzania wynik.

CakeLog::write('debug', 'myArray'.print_r($myArray, true)); 

A jeśli nie chcemy nowych linii, karty lub podwójne spacje w logach:

$log = print_r($myArray, true); 
$log = str_replace(array("\n","\t"), " ", $log); 
$log = preg_replace('/\s+/', ' ',$log); 
CakeLog::write('debug', 'myArray' . $log); 
0

Ktoś dostał metoda przekierowania przedstawiony here.

Przyzwyczaiłem się, aby zobaczyć, co tam mam, i to pokazuje bardzo wyraźnie.

+0

Ten facet używa 'ob_start()', aby uzyskać wartość zwracaną przez 'var_dump()', co robi wewnętrznie 'print_r ($ var, true)'. Wygląda na to, że używa starej wersji php. – petervaz

Powiązane problemy