dump($this); } /** * @param object $obj * * @return string */ public function dump($obj) { static $ident = 0; $str = ''; if ($obj instanceof Node) { $str .= get_debug_type($obj) . '(' . PHP_EOL; $props = get_object_vars($obj); foreach ($props as $name => $prop) { $ident += 4; $str .= str_repeat(' ', $ident) . '"' . $name . '": ' . $this->dump($prop) . ',' . PHP_EOL; $ident -= 4; } $str .= str_repeat(' ', $ident) . ')'; } elseif (is_array($obj)) { $ident += 4; $str .= 'array('; $some = false; foreach ($obj as $k => $v) { $str .= PHP_EOL . str_repeat(' ', $ident) . '"' . $k . '" => ' . $this->dump($v) . ','; $some = true; } $ident -= 4; $str .= ($some ? PHP_EOL . str_repeat(' ', $ident) : '') . ')'; } elseif (is_object($obj)) { $str .= 'instanceof(' . get_debug_type($obj) . ')'; } else { $str .= var_export($obj, true); } return $str; } }