Преглед изворни кода

fixed DBG nicePrint scalar variables

Piotr Labudda пре 8 година
родитељ
комит
7ee21ddcf7
1 измењених фајлова са 26 додато и 22 уклоњено
  1. 26 22
      SE/se-lib/DBG.php

+ 26 - 22
SE/se-lib/DBG.php

@@ -199,31 +199,35 @@ class DBG {
 
 
 	public static function nicePrint($variable, $varName, $params = []) {
 	public static function nicePrint($variable, $varName, $params = []) {
 		$col = ['green'=>'#96c178', 'red'=>'#de6b74', 'blue'=>'#55b5c1', 'bg-dark'=>'#282c34', 'white'=>'#abb2bf', 'orange'=>'#d19a66', 'violet'=>'#c476db'];
 		$col = ['green'=>'#96c178', 'red'=>'#de6b74', 'blue'=>'#55b5c1', 'bg-dark'=>'#282c34', 'white'=>'#abb2bf', 'orange'=>'#d19a66', 'violet'=>'#c476db'];
-		$cnt = '';
-		ob_start();
-		print_r($variable);
-		$cnt = ob_get_clean();
+		if (is_scalar($variable)) {
+			$outLines = [ substr((string)$variable, 0, 20) . (strlen((string)$variable) > 20 ? '...' : '' ), $variable ];
+		} else {
+			$cnt = '';
+			ob_start();
+			print_r($variable);
+			$cnt = ob_get_clean();
 
 
-		$outLines = array();
-		$lines = explode("\n", $cnt);
-		foreach ($lines as $line) {
-			if ('(' == trim($line)) continue;
-			if (')' == trim($line)) continue;
-			if ('' == trim($line)) continue;
-			if ('Array' == substr($line, -5) || 'stdClass' == substr($line, -5)) {
-				$line = str_replace('Array', '<span style="color:'.$col['blue'].'">Array</span>', $line);
-				$line = str_replace('stdClass', '<span style="color:'.$col['blue'].'">stdClass</span>', $line);
-				$line .= ':';
-			}
-			if (($firstBracket = strpos($line, '[')) > 0) {
-				$line = str_replace("\t", '  ', $line);
-				$splitPos = ($firstBracket > 4)? ($firstBracket - 4) / 2 + 4 : 4;
-				$line = substr($line, $firstBracket - $splitPos);
+			$outLines = array();
+			$lines = explode("\n", $cnt);
+			foreach ($lines as $line) {
+				if ('(' == trim($line)) continue;
+				if (')' == trim($line)) continue;
+				if ('' == trim($line)) continue;
+				if ('Array' == substr($line, -5) || 'stdClass' == substr($line, -5)) {
+					$line = str_replace('Array', '<span style="color:'.$col['blue'].'">Array</span>', $line);
+					$line = str_replace('stdClass', '<span style="color:'.$col['blue'].'">stdClass</span>', $line);
+					$line .= ':';
+				}
+				if (($firstBracket = strpos($line, '[')) > 0) {
+					$line = str_replace("\t", '  ', $line);
+					$splitPos = ($firstBracket > 4)? ($firstBracket - 4) / 2 + 4 : 4;
+					$line = substr($line, $firstBracket - $splitPos);
 
 
-				$line = preg_replace('/\[(\w+)\]/', '[<span style="color:'.$col['green'].'">\1</span>]', $line);
-				$line = preg_replace('/\] \=\> (.+)$/', '] => <span style="color:'.$col['orange'].'">\1</span>', $line);
+					$line = preg_replace('/\[(\w+)\]/', '[<span style="color:'.$col['green'].'">\1</span>]', $line);
+					$line = preg_replace('/\] \=\> (.+)$/', '] => <span style="color:'.$col['orange'].'">\1</span>', $line);
+				}
+				$outLines[] = $line;
 			}
 			}
-			$outLines[] = $line;
 		}
 		}
 		if ($varName) $outLines[0] = '<b style="color:'.$col['red'].'">' . $varName . "</b> => {$outLines[0]}";
 		if ($varName) $outLines[0] = '<b style="color:'.$col['red'].'">' . $varName . "</b> => {$outLines[0]}";
 		$maxHeight = V::get('maxHeight', '400px', $params);
 		$maxHeight = V::get('maxHeight', '400px', $params);