thinkphpフレームワークdumpフレンドリーデバッグ出力関数

5634 ワード

 1 /**

 2  *           

 3  * @param mixed $var   

 4  * @param boolean $echo         True    false         

 5  * @param string $label        

 6  * @param boolean $strict         true

 7  * @return void|string

 8  */

 9 function dump($var, $echo=true, $label=null, $strict=true) {

10     $label = ($label === null) ? '' : rtrim($label) . ' ';

11     if (!$strict) {

12         if (ini_get('html_errors')) {

13             $output = print_r($var, true);

14             $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';

15         } else {

16             $output = $label . print_r($var, true);

17         }

18     } else {

19         ob_start();

20         var_dump($var);

21         $output = ob_get_clean();

22         if (!extension_loaded('xdebug')) {

23             $output = preg_replace('/\]\=\>
(\s+)/m', '] => ', $output); 24 $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>'; 25 } 26 } 27 if ($echo) { 28 echo($output); 29 return null; 30 }else 31 return $output; 32 }