zoukankan      html  css  js  c++  java
  • Laravel Debugbar

    Installation

    Require this package with composer:

    composer require barryvdh/laravel-debugbar

    After updating composer, add the ServiceProvider to the providers array in config/app.php

    If you use a catch-all/fallback route, make sure you load the Debugbar ServiceProvider before your own App ServiceProviders.

    Laravel 5.x:

    BarryvdhDebugbarServiceProvider::class,

    If you want to use the facade to log messages, add this to your facades in app.php:

    'Debugbar' => BarryvdhDebugbarFacade::class,

    The profiler is enabled by default, if you have app.debug=true. You can override that in the config (debugbar.enabled). See more options in config/debugbar.php You can also set in your config if you want to include/exclude the vendor files also (FontAwesome, Highlight.js and jQuery). If you already use them in your site, set it to false. You can also only display the js or css vendors, by setting it to 'js' or 'css'. (Highlight.js requires both css + js, so set to true for syntax highlighting)

    Copy the package config to your local config with the publish command:

    php artisan vendor:publish --provider="BarryvdhDebugbarServiceProvider"

    Lumen:

    For Lumen, register a different Provider in bootstrap/app.php:

    if (env('APP_DEBUG')) {
     $app->register(BarryvdhDebugbarLumenServiceProvider::class);
    }

    To change the configuration, copy the file to your config folder and enable it:

    $app->configure('debugbar');

    Usage

    You can now add messages using the Facade (when added), using the PSR-3 levels (debug, info, notice, warning, error, critical, alert, emergency):

    Debugbar::info($object);
    Debugbar::error('Error!');
    Debugbar::warning('Watch out…');
    Debugbar::addMessage('Another message', 'mylabel');

    And start/stop timing:

    Debugbar::startMeasure('render','Time for rendering');
    Debugbar::stopMeasure('render');
    Debugbar::addMeasure('now', LARAVEL_START, microtime(true));
    Debugbar::measure('My long operation', function() {
        // Do something…
    });

    Or log exceptions:

    try {
        throw new Exception('foobar');
    } catch (Exception $e) {
        Debugbar::addException($e);
    }

    There are also helper functions available for the most common calls:

    // All arguments will be dumped as a debug message
    debug($var1, $someString, $intValue, $object);
    
    start_measure('render','Time for rendering');
    stop_measure('render');
    add_measure('now', LARAVEL_START, microtime(true));
    measure('My long operation', function() {
        // Do something…
    });

    If you want you can add your own DataCollectors, through the Container or the Facade:

    Debugbar::addCollector(new DebugBarDataCollectorMessagesCollector('my_messages'));
    //Or via the App container:
    $debugbar = App::make('debugbar');
    $debugbar->addCollector(new DebugBarDataCollectorMessagesCollector('my_messages'));

    By default, the Debugbar is injected just before </body>. If you want to inject the Debugbar yourself, set the config option 'inject' to false and use the renderer yourself and follow http://phpdebugbar.com/docs/rendering.html

    $renderer = Debugbar::getJavascriptRenderer();

    Note: Not using the auto-inject, will disable the Request information, because that is added After the response. You can add the default_request datacollector in the config as alternative.

    Enabling/Disabling on run time

    You can enable or disable the debugbar during run time.

    Debugbar::enable();
    Debugbar::disable();

    NB. Once enabled, the collectors are added (and could produce extra overhead), so if you want to use the debugbar in production, disable in the config and only enable when needed.

    Twig Integration

    Laravel Debugbar comes with two Twig Extensions. These are tested with rcrowe/TwigBridge 0.6.x

    Add the following extensions to your TwigBridge config/extensions.php (or register the extensions manually)

    'BarryvdhDebugbarTwigExtensionDebug',
    'BarryvdhDebugbarTwigExtensionDump',
    'BarryvdhDebugbarTwigExtensionStopwatch',

    The Dump extension will replace the dump function to output variables using the DataFormatter. The Debug extension adds adebug() function which passes variables to the Message Collector, instead of showing it directly in the template. It dumps the arguments, or when empty; all context variables.

    {{ debug() }}
    {{ debug(user, categories) }}

    The Stopwatch extension adds a stopwatch tag similar to the one in Symfony/Silex Twigbridge.

    {% stopwatch "foo" %}
        …some things that gets timed
    {% endstopwatch %}
  • 相关阅读:
    Spark Streaming Programming Guide
    Apache Kafka Replication Design – High level
    Apache Kafka源码分析 – Log Management
    Apache Kafka源码分析 – Broker Server
    Big Data资料汇总
    Spark 源码分析 -- task实际执行过程
    Spark源码分析 – 汇总索引
    Spark源码分析 – Shuffle
    C# Windows form application 播放小视频
    leetcode第一刷_Sudoku Solver
  • 原文地址:https://www.cnblogs.com/chunguang/p/5746860.html
Copyright © 2011-2022 走看看