Ejemplo n.º 1
0
 /**
  * 返回  FirePHP 实例
  *
  * @return FirePHP
  */
 protected static function _firephp()
 {
     if (is_null(self::$_firephp)) {
         $ver = self::$_ver;
         self::$_firephp = FirePHP::getInstance(true);
     }
     return self::$_firephp;
 }
Ejemplo n.º 2
0
 /**
  * 返回  FirePHP 实例
  *
  * @return FirePHP
  */
 protected static function _firephp()
 {
     if (is_null(self::$_firephp)) {
         $ver = self::$_ver;
         require_once Q_DIR . "/_vendor/firephp/FirePHP.{$ver}.class.php";
         self::$_firephp = FirePHP::getInstance(true);
     }
     return self::$_firephp;
 }
Ejemplo n.º 3
0
 /**
  * 显示应用程序执行路径
  *
  * 如果启用了 FirePHP 支持,将输出到浏览器的 FirePHP 窗口中,不影响页面输出。
  */
 static function dumpTrace()
 {
     if (self::$_firephp_enabled) {
         QDebug_FirePHP::dumpTrace();
         return;
     }
     $debug = debug_backtrace();
     $lines = '';
     $index = 0;
     for ($i = 0; $i < count($debug); $i++) {
         if ($i == 0) {
             continue;
         }
         $file = $debug[$i];
         if (!isset($file['file'])) {
             $file['file'] = 'eval';
         }
         if (!isset($file['line'])) {
             $file['line'] = null;
         }
         $line = "#{$index} {$file['file']}({$file['line']}): ";
         if (isset($file['class'])) {
             $line .= "{$file['class']}{$file['type']}";
         }
         $line .= "{$file['function']}(";
         if (isset($file['args']) && count($file['args'])) {
             foreach ($file['args'] as $arg) {
                 $line .= gettype($arg) . ', ';
             }
             $line = substr($line, 0, -2);
         }
         $line .= ')';
         $lines .= $line . "\n";
         $index++;
     }
     // for
     $lines .= "#{$index} {main}\n";
     if (ini_get('html_errors')) {
         echo nl2br(str_replace(' ', '&nbsp;', $lines));
     } else {
         echo $lines;
     }
 }
Ejemplo n.º 4
0
 /**
  * 断言
  *
  * 如果 $bool 为 false,则调用 assert() 方法。这会导致一个警告信息或中断执行。
  *
  * @param boolean $bool
  *   断言结果
  * @param string $message
  *   要显示的断言信息
  */
 static function assert($bool, $message = null)
 {
     if (!self::$_assert_enabled || $bool) {
         return;
     }
     if (self::$_firephp_enabled) {
         QDebug_FirePHP::assert($bool, $message);
         return;
     }
     if (Q::getIni('assert_warning')) {
         trigger_error($message . "\nAssertion failed", E_USER_WARNING);
         self::dumpTrace();
     }
     if (Q::getIni('assert_exception')) {
         throw new QDebug_Assert_Failed($message);
     }
 }