Viewing file: DataFormatter.php (2.52 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /* * This file is part of the DebugBar package. * * (c) 2013 Maxime Bouroumeau-Fuseau * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */
namespace DebugBar\DataFormatter;
use Symfony\Component\VarDumper\Cloner\VarCloner; use Symfony\Component\VarDumper\Dumper\CliDumper;
class DataFormatter implements DataFormatterInterface { public $cloner;
public $dumper;
/** * DataFormatter constructor. */ public function __construct() { $this->cloner = new VarCloner(); $this->dumper = new CliDumper(); }
/** * @param $data * @return string */ public function formatVar($data) { $output = '';
$this->dumper->dump( $this->cloner->cloneVar($data), function ($line, $depth) use (&$output) { // A negative depth means "end of dump" if ($depth >= 0) { // Adds a two spaces indentation to the line $output .= str_repeat(' ', $depth).$line."\n"; } } );
return trim($output); }
/** * @param float $seconds * @return string */ public function formatDuration($seconds) { if ($seconds < 0.001) { return round($seconds * 1000000) . 'μs'; } elseif ($seconds < 0.1) { return round($seconds * 1000, 2) . 'ms'; } elseif ($seconds < 1) { return round($seconds * 1000) . 'ms'; } return round($seconds, 2) . 's'; }
/** * @param string $size * @param int $precision * @return string */ public function formatBytes($size, $precision = 2) { if ($size === 0 || $size === null) { return "0B"; }
$sign = $size < 0 ? '-' : ''; $size = abs($size);
$base = log($size) / log(1024); $suffixes = array('B', 'KB', 'MB', 'GB', 'TB'); return $sign . round(pow(1024, $base - floor($base)), $precision) . $suffixes[(int) floor($base)]; }
/** * @param object $object * @return string */ public function formatClassName($object) { $class = \get_class($object);
if (false === ($pos = \strpos($class, "@anonymous\0"))) { return $class; }
if (false === ($parent = \get_parent_class($class))) { return \substr($class, 0, $pos + 10); }
return $parent . '@anonymous'; } }
|