Krumo::dump PHP Method

dump() public static method

Dump information about a variable
public static dump ( $data, $second = '' ) : boolean
return boolean
    public static function dump($data, $second = '')
    {
        if (static::isCli()) {
            $args = func_get_args();
            krumo::cli_dump($args);
            return true;
        }
        // If we're capturing call dump() with just data and capture the output
        if ($second === KRUMO_RETURN) {
            ob_start();
            static::dump($data);
            $str = ob_get_clean();
            return $str;
            // If we were given expand all, set the global variable
        } elseif ($second === KRUMO_EXPAND_ALL) {
            static::$expand_all = true;
            static::dump($data);
            return true;
        } elseif ($second === KRUMO_NO_SORT) {
            self::$sort = false;
            Krumo::dump($data);
            return true;
        } elseif ($second === KRUMO_SORT) {
            self::$sort = true;
            Krumo::dump($data);
            return true;
        }
        $clearObjectRecursionProtection = false;
        if (static::$objectRecursionProtection === null) {
            static::$objectRecursionProtection = array();
            $clearObjectRecursionProtection = true;
        }
        // disabled
        if (!static::_debug()) {
            return false;
        }
        // more arguments
        if (func_num_args() > 1) {
            $_ = func_get_args();
            $result = true;
            foreach ($_ as $d) {
                $result = $result && static::dump($d);
            }
            return $result;
        }
        // find caller
        $_ = debug_backtrace();
        while ($d = array_pop($_)) {
            $callback = static::$lineNumberTestCallback;
            $function = strToLower($d['function']);
            if (in_array($function, array("krumo", "k", "kd")) || strToLower(@$d['class']) == 'krumo' || is_callable($callback) && call_user_func($callback, $d)) {
                break;
            }
        }
        $showVersion = static::_config('display', 'show_version', true);
        $showCallInfo = static::_config('display', 'show_call_info', true);
        $krumoUrl = 'https://github.com/mmucklo/krumo';
        //////////////////////
        // Start HTML header//
        //////////////////////
        print "<div class=\"krumo-root\">\n";
        print "\t<ul class=\"krumo-node krumo-first\">\n";
        // The actual item itself
        static::_dump($data);
        if ($showVersion || $showCallInfo) {
            print "\t\t<li class=\"krumo-footnote\" onDblClick=\"toggle_expand_all();\">\n";
            if ($showCallInfo && isset($d['file']) && $d['file']) {
                print "<span class=\"krumo-call\" style=\"white-space:nowrap;\">";
                print "Called from <strong><code>" . $d['file'] . "</code></strong>, ";
                print "line <strong><code>" . $d['line'] . "</code></strong></span>";
            }
            if ($showVersion) {
                $version = static::version();
                print "<span class=\"krumo-version\" style=\"white-space:nowrap;\">\n";
                print "<strong class=\"krumo-version-number\">Krumo version {$version}</strong> | <a href=\"{$krumoUrl}\" target=\"_blank\">{$krumoUrl}</a>\n";
                print "</span>\n";
            }
            print "</li>";
        }
        print "</ul></div>\n";
        print "<!-- Krumo - HTML -->\n\n";
        // Output the CSS and JavaScript AFTER the HTML
        static::_css();
        ////////////////////
        // End HTML header//
        ////////////////////
        // flee the hive
        $_recursion_marker = static::_marker();
        if ($hive =& static::_hive($dummy)) {
            foreach ($hive as $i => $bee) {
                if (is_object($bee)) {
                    if (($hash = spl_object_hash($bee)) && isset(static::$objectRecursionProtection[$hash])) {
                        unset(static::$objectRecursionProtection[$hash]);
                    }
                } elseif (isset($hive[$i]->{$_recursion_marker})) {
                    unset($hive[$i][$_recursion_marker]);
                }
            }
        }
        if ($clearObjectRecursionProtection) {
            static::$objectRecursionProtection = null;
        }
        return true;
    }

Usage Example

Example #1
0
 /**
  * Output pretty-printed arrays / objects.
  *
  * @see \krumo::dump
  * @see https://github.com/oodle/krumo
  *
  * @param  mixed $var
  * @return string
  */
 public function printDump($var)
 {
     $output = \Krumo::dump($var, KRUMO_CAPTURE);
     return $output;
 }
All Usage Examples Of Krumo::dump