예제 #1
0
 public static function enableDebug()
 {
     // 设置 PHP 调试环境
     ini_set('display_errors', 1);
     error_reporting(E_ALL | E_STRICT);
     // 开启 debug log
     BzfDebug::startDebugLogCollector();
     // 当前目录 autoload
     \Core\Plugin\SystemHelper::addAutoloadPath(realpath(dirname(__FILE__)));
     $handler = new \Whoops\Handler\PrettyPageHandler();
     // 增加额外的日志输出
     $handler->addDataTableCallback('LOGS', function () {
         // 取得 logCollector
         $logCollector = BzfDebug::startDebugLogCollector();
         $logArray = $logCollector->getLogArray();
         // 由于 debug 只支持 key-->value 显示,我们只能简单一点了
         $displayArray = array();
         $index = 0;
         foreach ($logArray as $logItem) {
             $displayArray['' . sprintf('%02d', $index) . '|' . str_pad($logItem['level'], 10, ' ', STR_PAD_LEFT) . '|' . $logItem['source']] = $logItem['msg'];
             $index++;
         }
         return $displayArray;
     });
     $run = new \Whoops\Run();
     $run->pushHandler($handler);
     $run->register();
 }
예제 #2
0
<?php

/**
 * DEVELOPMENT MODE
 */
/**
 * Debug stacktrace using WHOOPS
 */
$app->config->catch = false;
$handler = new Whoops\Handler\PrettyPageHandler();
$handler->addDataTableCallback('App Uri', function () use($app) {
    return (array) $app->context->request->uri;
});
$handler->addDataTableCallback('App Route', function () use($app) {
    return (array) $app->context->route;
});
$handler->addDataTableCallback('App Invokable', function () use($app) {
    $invokable = $app->context->invokable;
    array_shift($invokable->params);
    return (array) $invokable;
});
$handler->addDataTableCallback('App Access', function () use($app) {
    return (array) $app->context->access;
});
$handler->addDataTableCallback('App Response', function () use($app) {
    return (array) $app->context->response;
});
$whoops = new Whoops\Run();
$whoops->pushHandler($handler)->register();
/**
 * Vardump
예제 #3
0
파일: front.php 프로젝트: myeti/pictobox
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL & ~E_NOTICE);
require 'instance.php';
/**
 * Authentication setup
 */
use Colorium\Stateful\Auth;
use Pictobox\Model\User;
Auth::factory(function ($id) {
    return User::one(['id' => $id]);
});
/**
 * Debug mode
 */
use Colorium\Http;
$request = Http\Request::globals();
$request->local[] = '10.0.2.2';
if ($request->local()) {
    $app->catch = false;
    $handler = new Whoops\Handler\PrettyPageHandler();
    $handler->addDataTableCallback('App Request', function () use($request) {
        return (array) $request;
    });
    $whoops = new Whoops\Run();
    $whoops->pushHandler($handler)->register();
}
/**
 * Execute default context
 */
$app->run()->end();