Search by

frostrain / laravel-console-debug

frostrain

Show debug informations in console

Package info

github.com/frostrain/laravel-console-debug

pkg:composer/frostrain/laravel-console-debug

Statistics

Installs: 20 822

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 1

0.2.0 2017-12-03 03:41 UTC

This package is not auto-updated.

Last update: 2026-10-03 08:40:18 UTC


README

#+TITLE: Laravel Console Debug
#+AUTHOR: frostrain

[[file:https://api.travis-ci.org/frostrain/laravel-console-debug.svg?branch=master]]

[[file:README_cn.org][中文说明]]
* Dependency
- laravel 5 (5.0 - 5.5)
- [[https://github.com/barryvdh/laravel-debugbar][barryvdh/laravel-debugbar]] (laravel-debugbar itself dosen't display debug messages in console)
* Introduction
This package can show laravel-debugbar's debug messages and SQL queries in *console*.

For example, there have a =test= command
#+BEGIN_SRC sh
  # if you dosen't use -v flag, it will not display debug messages
  $ php artisan test
  hello!

  # with -v or more verbose flag, it will display debug messages
  $ php artisan test -v
  hello!

  +-------+---------------------+
  | level | debug message       |
  +-------+---------------------+
  | info  | 中文消息            |
  +-------+---------------------+
  | error | some error msg...   |
  +-------+---------------------+
  | debug | {#753               |
  |       |   +"foo": "bar"     |
  |       |   +"arr": array:2 [ |
  |       |     0 => "foo"      |
  |       |     1 => "bar"      |
  |       |   ]                 |
  |       | }                   |
  +-------+---------------------+

  +-------------------------------+----------+
  | sql                           | duration |
  +-------------------------------+----------+
  | select * from `users` limit 1 | 9.77ms   |
  +-------------------------------+----------+
#+END_SRC

=Test= command's example (this example require laravel 5.4+ to run, you need put these code in =routes/console.php=, for laravel 5.3 and below you can use =Command= class)
#+BEGIN_SRC php
  Artisan::command('test', function(){
      $this->line('hello!');

      $debugbar = app('debugbar');
      $debugbar->info('中文消息');
      $obj = new StdClass();
      $debugbar->error('some error msg...');
      $obj->foo = 'bar';
      $obj->arr = ['foo', 'bar'];
      debug($obj);

      \App\User::first();
  });
#+END_SRC
* Installation
Install by composer:
#+BEGIN_SRC sh
  composer require --dev frostrain/laravel-console-debug
#+END_SRC

Then add service in =config/app.php=.
#+BEGIN_SRC php
  'providers' => [
      // ...

      // Register laravel-debugbar's service first
      Barryvdh\Debugbar\ServiceProvider::class,
      Frostrain\Laravel\ConsoleDebug\ConsoleDebugServiceProvider::class,
  ]
#+END_SRC

Then you can use =-v= or more verbose flag to show debug messages
#+BEGIN_SRC sh
  php artisan test -v
#+END_SRC
* Configuration (optional)
You can publish config file:
#+BEGIN_SRC sh
  php artisan vendor:publish --provider="Frostrain\Laravel\ConsoleDebug\ConsoleDebugServiceProvider"
#+END_SRC
then set you own configurations in =config/console_debug.php=.