%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/higroup/wp-content/plugins/devmonsta/core/helpers/
Upload File :
Create Path :
Current File : /var/www/html/higroup/wp-content/plugins/devmonsta/core/helpers/class-devm-dumper.php

<?php

class Devm_Dumper {
    private static $_objects;
    private static $_output;
    private static $_depth;

    public static function dump( $var, $depth = 10 ) {
        self::reset_internals();

        self::$_depth = $depth;
        self::dump_internal( $var, 0 );

        $output = self::$_output;

        self::reset_internals();

        return $output;
    }

    private static function reset_internals() {
        self::$_output  = '';
        self::$_objects = [];
        self::$_depth   = 10;
    }

    private static function dump_internal( $var, $level ) {

        switch ( gettype( $var ) ) {
        case 'boolean':
            self::$_output .= $var ? 'true' : 'false';
            break;
        case 'integer':
            self::$_output .= "$var";
            break;
        case 'double':
            self::$_output .= "$var";
            break;
        case 'string':
            self::$_output .= "'$var'";
            break;
        case 'resource':
            self::$_output .= '{resource}';
            break;
        case 'NULL':
            self::$_output .= "null";
            break;
        case 'unknown type':
            self::$_output .= '{unknown}';
            break;
        case 'array':

            if ( self::$_depth <= $level ) {
                self::$_output .= 'array(...)';
            } else

            if ( empty( $var ) ) {
                self::$_output .= 'array()';
            } else {
                $keys   = array_keys( $var );
                $spaces = str_repeat( ' ', $level * 4 );
                self::$_output .= "array\n" . $spaces . '(';

                foreach ( $keys as $key ) {
                    self::$_output .= "\n" . $spaces . "    [$key] => ";
                    self::$_output .= self::dump_internal( $var[$key], $level + 1 );
                }

                self::$_output .= "\n" . $spaces . ')';
            }

            break;
        case 'object':

            if (  ( $id = array_search( $var, self::$_objects, true ) ) !== false ) {
                self::$_output .= get_class( $var ) . '(...)';
            } else

            if ( self::$_depth <= $level ) {
                self::$_output .= get_class( $var ) . '(...)';
            } else {
                $id         = array_push( self::$_objects, $var );
                $class_name = get_class( $var );
                $members    = (array) $var;
                $keys       = array_keys( $members );
                $spaces     = str_repeat( ' ', $level * 4 );
                self::$_output .= "$class_name\n" . $spaces . '(';

                foreach ( $keys as $key ) {
                    $key_display = strtr( trim( $key ), ["\0" => ':'] );
                    self::$_output .= "\n" . $spaces . "    [$key_display] => ";
                    self::$_output .= self::dump_internal( $members[$key], $level + 1 );
                }

                self::$_output .= "\n" . $spaces . ')';
            }

            break;
        }

    }

}

Zerion Mini Shell 1.0