![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/maximebf/debugbar/src/DebugBar/DataFormatter/ |
<?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)]; } }