ok
Direktori : /home2/selectio/www/3-idiots/vendor/maximebf/debugbar/src/DebugBar/DataFormatter/ |
Current File : /home2/selectio/www/3-idiots/vendor/maximebf/debugbar/src/DebugBar/DataFormatter/DataFormatter.php |
<?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)]; } }