Exemple #1
0
    public static function showSqlLogs()
    {
        $total = 0;
        foreach (self::$logs['sql'] as $key => $log) {
            $bindings = array();
            if (is_array($log['bindings'])) {
                foreach ($log['bindings'] as $bind) {
                    $bindings[] = $bind[0] . '=' . $bind[1] . ' ' . $bind[2];
                }
            }
            $errorInfo = '';
            $total += $log['time'];
            $classes = array();
            if ($log['errorInfo'][0] != '00000') {
                $errorInfo = ' | ' . $log['errorInfo'][2];
                $classes[] = 'error';
            }
            $classes[] = $log['time'] > 0.5 ? 'alert' : '';
            ?>
				<p class="<?php 
            echo implode(' ', $classes);
            ?>
"><?php 
            echo '[', $key, '] ', $log['sql'], ' | ', implode(',', $bindings), $errorInfo, ' | rows: ' . $log['rows'] . ' | ', Number::format($log['time'], 5, ','), 's';
            ?>
</p>
			<?php 
        }
        ?>
			<p class="total">Total : <?php 
        echo count(self::$logs['sql']);
        ?>
 requête(s) pour <?php 
        echo Number::format($total, 5, ',');
        ?>
s</p>
	<?php 
    }
Exemple #2
0
 /**
  * Format a unit string.
  *
  * @param int|float|string $number The unit amount
  * @param string $unit The unit identifier (eg 'duration/millisecond' or 'millisecond')
  * @param string $width The format name; it can be 'long' (eg '3 milliseconds'), 'short' (eg '3 ms') or 'narrow' (eg '3ms'). You can also add a precision specifier ('long,2' or just '2')
  * @param string $locale The locale to use. If empty we'll use the default locale set in \Punic\Data
  *
  * @return string
  *
  * @throws Exception\ValueNotInList
  */
 public static function format($number, $unit, $width = 'short', $locale = '')
 {
     $data = Data::get('units', $locale);
     $precision = null;
     if (is_int($width)) {
         $precision = $width;
         $width = 'short';
     } elseif (is_string($width) && preg_match('/^(?:(.*),)?([+\\-]?\\d+)$/', $width, $m)) {
         $precision = intval($m[2]);
         $width = $m[1];
         if (!isset($width[0])) {
             $width = 'short';
         }
     }
     if (strpos($width, '_') === 0 || !isset($data[$width])) {
         $widths = array();
         foreach (array_keys($data) as $w) {
             if (strpos($w, '_') !== 0) {
                 $widths[] = $w;
             }
         }
         throw new Exception\ValueNotInList($width, $widths);
     }
     $data = $data[$width];
     if (strpos($unit, '/') === false) {
         $unitCategory = null;
         $unitID = null;
         foreach (array_keys($data) as $c) {
             if (strpos($c, '_') === false) {
                 if (isset($data[$c][$unit])) {
                     if (is_null($unitCategory)) {
                         $unitCategory = $c;
                         $unitID = $unit;
                     } else {
                         $unitCategory = null;
                         break;
                     }
                 }
             }
         }
     } else {
         list($unitCategory, $unitID) = explode('/', $unit, 2);
     }
     $rules = null;
     if (strpos($unit, '_') === false && !is_null($unitCategory) && !is_null($unitID) && isset($data[$unitCategory]) && array_key_exists($unitID, $data[$unitCategory])) {
         $rules = $data[$unitCategory][$unitID];
     }
     if (is_null($rules)) {
         $units = array();
         foreach ($data as $c => $us) {
             if (strpos($c, '_') === false) {
                 foreach (array_keys($us) as $u) {
                     if (strpos($c, '_') === false) {
                         $units[] = "{$c}/{$u}";
                     }
                 }
             }
         }
         throw new \Punic\Exception\ValueNotInList($unit, $units);
     }
     $pluralRule = Plural::getRule($number, $locale);
     //@codeCoverageIgnoreStart
     // These checks aren't necessary since $pluralRule should always be in $rules, but they don't hurt ;)
     if (!isset($rules[$pluralRule])) {
         if (isset($rules['other'])) {
             $pluralRule = 'other';
         } else {
             $availableRules = array_keys($rules);
             $pluralRule = $availableRules[0];
         }
     }
     //@codeCoverageIgnoreEnd
     return sprintf($rules[$pluralRule], Number::format($number, $precision, $locale));
 }