Ejemplo n.º 1
0
function do_dump(&$var, $var_name = NULL, $indent = NULL, $reference = NULL)
{
    $do_dump_indent = "<span style='color:#eeeeee;'>|</span> &nbsp;&nbsp; ";
    $reference = $reference . $var_name;
    $keyvar = 'the_do_dump_recursion_protection_scheme';
    $keyname = 'referenced_object_name';
    if (is_array($var) && isset($var[$keyvar])) {
        $real_var =& $var[$keyvar];
        $real_name =& $var[$keyname];
        $type = ucfirst(gettype($real_var));
        echo "{$indent}{$var_name} <span style='color:#a2a2a2'>{$type}</span> = <span style='color:#e87800;'>&amp;{$real_name}</span><br>";
    } else {
        $var = array($keyvar => $var, $keyname => $reference);
        $avar =& $var[$keyvar];
        $type = ucfirst(gettype($avar));
        if ($type == "String") {
            $type_color = "<span style='color:green'>";
        } elseif ($type == "Integer") {
            $type_color = "<span style='color:red'>";
        } elseif ($type == "Double") {
            $type_color = "<span style='color:#0099c5'>";
            $type = "Float";
        } elseif ($type == "Boolean") {
            $type_color = "<span style='color:#92008d'>";
        } elseif ($type == "NULL") {
            $type_color = "<span style='color:black'>";
        }
        if (is_array($avar)) {
            $count = count($avar);
            echo "{$indent}" . ($var_name ? "{$var_name} => " : "") . "<span style='color:#a2a2a2'>{$type} ({$count})</span><br>{$indent}(<br>";
            $keys = array_keys($avar);
            foreach ($keys as $name) {
                $value =& $avar[$name];
                do_dump($value, "['{$name}']", $indent . $do_dump_indent, $reference);
            }
            echo "{$indent})<br>";
        } elseif (is_object($avar)) {
            echo "{$indent}{$var_name} <span style='color:#a2a2a2'>{$type}</span><br>{$indent}(<br>";
            foreach ($avar as $name => $value) {
                do_dump($value, "{$name}", $indent . $do_dump_indent, $reference);
            }
            echo "{$indent})<br>";
        } elseif (is_int($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> {$type_color}{$avar}</span><br>";
        } elseif (is_string($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> {$type_color}\"{$avar}\"</span><br>";
        } elseif (is_float($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> {$type_color}{$avar}</span><br>";
        } elseif (is_bool($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> {$type_color}" . ($avar == 1 ? "TRUE" : "FALSE") . "</span><br>";
        } elseif (is_null($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> {$type_color}NULL</span><br>";
        } else {
            echo "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> {$avar}<br>";
        }
        $var = $var[$keyvar];
    }
}
Ejemplo n.º 2
0
function do_dump($value, $level = 0)
{
    if ($level == -1) {
        $trans[' '] = '&there4;';
        $trans["\t"] = '&rArr;';
        $trans["\n"] = '&para;';
        $trans["\r"] = '&lArr;';
        $trans[""] = '&oplus;';
        return strtr(htmlspecialchars($value), $trans);
    }
    if ($level == 0) {
        echo '<pre>';
    }
    $type = gettype($value);
    echo $type;
    if ($type == 'string') {
        echo '(' . strlen($value) . ')';
        $value = do_dump($value, -1);
    } elseif ($type == 'boolean') {
        $value = $value ? 'true' : 'false';
    } elseif ($type == 'object') {
        $props = get_class_vars(get_class($value));
        echo '(' . count($props) . ') <u>' . get_class($value) . '</u>';
        foreach ($props as $key => $val) {
            echo "\n" . str_repeat("\t", $level + 1) . $key . ' => ';
            do_dump($value->{$key}, $level + 1);
        }
        $value = '';
    } elseif ($type == 'array') {
        echo '(' . count($value) . ')';
        foreach ($value as $key => $val) {
            echo "\n" . str_repeat("\t", $level + 1) . do_dump($key, -1) . ' => ';
            do_dump($val, $level + 1);
        }
        $value = '';
    }
    echo " <b>{$value}</b>";
    if ($level == 0) {
        echo '</pre>';
    }
}
Ejemplo n.º 3
0
/**
 * Better GI than print_r or var_dump -- but, unlike var_dump, you can only dump one variable.
 * Added htmlentities on the var content before echo, so you see what is really there, and not the mark-up.
 *
 * Also, now the output is encased within a div block that sets the background color, font style, and left-justifies it
 * so it is not at the mercy of ambient styles.
 *
 * Inspired from:     PHP.net Contributions
 * Stolen from:       [highstrike at gmail dot com]
 * Modified by:       stlawson *AT* JoyfulEarthTech *DOT* com
 *
 * @param mixed $var  -- variable to dump
 * @param string $var_name  -- name of variable (optional) -- displayed in printout making it easier to sort out what variable is what in a complex output
 * @param string $indent -- used by internal recursive call (no known external value)
 * @param unknown_type $reference -- used by internal recursive call (no known external value)
 */
function do_dump(&$var, $var_name = NULL, $indent = NULL, $reference = NULL)
{
    $do_dump_indent = "<span style='color:#666666;'>|</span> &nbsp;&nbsp; ";
    $reference = $reference . $var_name;
    $keyvar = 'the_do_dump_recursion_protection_scheme';
    $keyname = 'referenced_object_name';
    // So this is always visible and always left justified and readable
    echo "<div style='text-align:left; background-color:white; font: 100% monospace; color:black;'>";
    if (is_array($var) && isset($var[$keyvar])) {
        $real_var =& $var[$keyvar];
        $real_name =& $var[$keyname];
        $type = ucfirst(gettype($real_var));
        echo "{$indent}{$var_name} <span style='color:#666666'>{$type}</span> = <span style='color:#e87800;'>&amp;{$real_name}</span><br>";
    } else {
        $var = array($keyvar => $var, $keyname => $reference);
        $avar =& $var[$keyvar];
        $type = ucfirst(gettype($avar));
        if ($type == "String") {
            $type_color = "<span style='color:green'>";
        } elseif ($type == "Integer") {
            $type_color = "<span style='color:red'>";
        } elseif ($type == "Double") {
            $type_color = "<span style='color:#0099c5'>";
            $type = "Float";
        } elseif ($type == "Boolean") {
            $type_color = "<span style='color:#92008d'>";
        } elseif ($type == "NULL") {
            $type_color = "<span style='color:black'>";
        }
        if (is_array($avar)) {
            $count = count($avar);
            echo "{$indent}" . ($var_name ? "{$var_name} => " : "") . "<span style='color:#666666'>{$type} ({$count})</span><br>{$indent}(<br>";
            $keys = array_keys($avar);
            foreach ($keys as $name) {
                $value =& $avar[$name];
                do_dump($value, "['{$name}']", $indent . $do_dump_indent, $reference);
            }
            echo "{$indent})<br>";
        } elseif (is_object($avar)) {
            echo "{$indent}{$var_name} <span style='color:#666666'>{$type}</span><br>{$indent}(<br>";
            foreach ($avar as $name => $value) {
                do_dump($value, "{$name}", $indent . $do_dump_indent, $reference);
            }
            echo "{$indent})<br>";
        } elseif (is_int($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#666666'>{$type}(" . strlen($avar) . ")</span> {$type_color}" . htmlentities($avar) . "</span><br>";
        } elseif (is_string($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#666666'>{$type}(" . strlen($avar) . ")</span> {$type_color}\"" . htmlentities($avar) . "\"</span><br>";
        } elseif (is_float($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#666666'>{$type}(" . strlen($avar) . ")</span> {$type_color}" . htmlentities($avar) . "</span><br>";
        } elseif (is_bool($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#666666'>{$type}(" . strlen($avar) . ")</span> {$type_color}" . ($avar == 1 ? "TRUE" : "FALSE") . "</span><br>";
        } elseif (is_null($avar)) {
            echo "{$indent}{$var_name} = <span style='color:#666666'>{$type}(" . strlen($avar) . ")</span> {$type_color}NULL</span><br>";
        } else {
            echo "{$indent}{$var_name} = <span style='color:#666666'>{$type}(" . strlen($avar) . ")</span> " . htmlentities($avar) . "<br>";
        }
        $var = $var[$keyvar];
    }
    echo "</div>";
}