Recca0120\LaravelTracy\Tracy::instance PHP Method

instance() public static method

instance.
public static instance ( $config = [] ) : static
return static
    public static function instance($config = [])
    {
        static $instance;
        if (is_null($instance) === false) {
            return $instance;
        }
        $config = array_merge(['enabled' => true, 'showBar' => true, 'editor' => 'subl://open?url=file://%file&line=%line', 'maxDepth' => 4, 'maxLength' => 1000, 'scream' => true, 'showLocation' => true, 'strictMode' => true, 'panels' => ['routing' => false, 'database' => true, 'view' => false, 'event' => false, 'session' => true, 'request' => true, 'auth' => false, 'terminal' => false]], $config);
        $config['enabled'] = Arr::get($config, 'enabled', false);
        $config['showBar'] = Arr::get($config, 'showBar', false);
        $mode = isset($config['enabled']) === false ? Debugger::DETECT : $config['enabled'] === true ? Debugger::DEVELOPMENT : Debugger::PRODUCTION;
        Debugger::enable($mode);
        $debugbar = new Debugbar($config);
        $debugbar->setup();
        return $instance = $debugbar;
    }

Usage Example

Example #1
0
 /**
  * setupTracy.
  *
  * @method setupTracy
  *
  * @return static
  */
 public function setupTracy($config = [])
 {
     $tracy = Tracy::instance($config);
     $databasePanel = $tracy->getPanel('database');
     $this->dispatcher->listen(QueryExecuted::class, function ($event) use($databasePanel) {
         $sql = $event->sql;
         $bindings = $event->bindings;
         $time = $event->time;
         $name = $event->connectionName;
         $pdo = $event->connection->getPdo();
         $databasePanel->logQuery($sql, $bindings, $time, $name, $pdo);
     });
 }