これは、PHPデバッグバーをLaravelと統合するためのパッケージです。 Debugbarを登録して出力に取り付けるServiceProviderが含まれています。資産を公開し、Laravelを使用して構成できます。一部のコレクターはLaravelと協力して、Laravelに固有のいくつかのカスタムデータコンレクターを実装します。リダイレクトと(jQuery)ajaxリクエストを表示するように構成されています。 (ドロップダウンに表示)その他の構成オプションについては、ドキュメントをお読みください。

注意
開発でのみDebugbarを使用します。公開されているWebサイトでDebugbarを使用しないでください。保存されたリクエストから情報を漏らします(設計上)。
警告
また、アプリケーションを遅くすることもできます(データを収集してレンダリングする必要があるため)。したがって、遅さを経験したら、コレクターの一部を無効にしてみてください。
このパッケージには、いくつかのカスタムコレクターが含まれています。
Laravelのために次のコレクターをブートストラップします:
そしてデフォルトのコレクター:
また、簡単なロギングメッセージ、例外、および時間のためのファサードインターフェイス( Debugbar )も提供します
作曲家とのこのパッケージが必要です。開発にはパッケージのみを必要とすることをお勧めします。
composer require barryvdh/laravel-debugbar --devLaravelはパッケージの自動発見を使用するため、ServiceProviderを手動で追加する必要はありません。
APP_DEBUGがtrueの場合、Debugbarが有効になります。
キャッチオール/フォールバックルートを使用している場合は、自分のアプリServiceProvidersの前にDebugbar ServiceProviderを必ずロードしてください。
自動指定を使用しない場合は、ServiceProviderをプロバイダーリストに追加します。 Laravel 11以降の場合は、bootstrap/providers.phpにServiceProviderを追加します。 Laravel 10以上の場合、config/app.phpにServiceProviderを追加します。
Barryvdh Debugbar ServiceProvider::class,ファサードを使用してメッセージを記録する場合は、 app/Providers/AppServiceProvider.phpクラスのregisterメソッドにこれを追加します。
public function register (): void
{
$ loader = Illuminate Foundation AliasLoader:: getInstance ();
$ loader -> alias ( ' Debugbar ' , Barryvdh Debugbar Facades Debugbar::class);
} app_debug = trueがある場合、プロファイラーはデフォルトで有効になります。 config( debugbar.enabled )でそれをオーバーライドするか、 DEBUGBAR_ENABLED .envで設定することで、それをオーバーライドできます。 config/debugbar.phpのその他のオプションを参照してください。ベンダーファイルを含める/除外する場合は、構成に設定することもできます(fontesome、highlight.js、jquery)。すでにサイトでそれらを使用している場合は、それをfalseに設定してください。また、「JS」または「CSS」に設定することにより、JSまたはCSSベンダーのみを表示することもできます。 (highlight.jsには両方のCSS + JSが必要なため、構文の強調表示にはtrueに設定されています)
php artisan vendor:publish --provider= " BarryvdhDebugbarServiceProvider " config/octane.phpのフラッシュリストにlaraveldebugbarを追加してください。
' flush ' => [
Barryvdh Debugbar LaravelDebugbar::class,
],ルーメンについては、 bootstrap/app.phpに別のプロバイダーを登録してください:
if ( env ( ' APP_DEBUG ' )) {
$ app -> register ( Barryvdh Debugbar LumenServiceProvider::class);
}構成を変更するには、ファイルを構成フォルダーにコピーして有効にします。
$ app -> configure ( ' debugbar ' );PSR-3レベル(デバッグ、情報、通知、警告、エラー、クリティカル、アラート、緊急事態)を使用して、ファサード(追加された場合)を使用してメッセージを追加できるようになりました。
Debugbar:: info ( $ object );
Debugbar:: error ( ' Error! ' );
Debugbar:: warning ( ' Watch out… ' );
Debugbar:: addMessage ( ' Another message ' , ' mylabel ' );タイミングを開始/停止します:
Debugbar:: startMeasure ( ' render ' , ' Time for rendering ' );
Debugbar:: stopMeasure ( ' render ' );
Debugbar:: addMeasure ( ' now ' , LARAVEL_START , microtime ( true ));
Debugbar:: measure ( ' My long operation ' , function () {
// Do something…
});またはログの例外:
try {
throw new Exception ( ' foobar ' );
} catch ( Exception $ e ) {
Debugbar:: addThrowable ( $ e );
}また、最も一般的な呼び出しに使用できるヘルパー関数もあります。
// All arguments will be dumped as a debug message
debug ( $ var1 , $ someString , $ intValue , $ object );
// `$collection->debug()` will return the collection and dump it as a debug message. Like `$collection->dump()`
collect ([ $ var1 , $ someString ])-> debug ();
start_measure ( ' render ' , ' Time for rendering ' );
stop_measure ( ' render ' );
add_measure ( ' now ' , LARAVEL_START , microtime ( true ));
measure ( ' My long operation ' , function () {
// Do something…
});必要に応じて、コンテナまたはファサードを介して、独自のデータコレクターを追加できます。
Debugbar:: addCollector ( new DebugBar DataCollector MessagesCollector ( ' my_messages ' ));
//Or via the App container:
$ debugbar = App:: make ( ' debugbar ' );
$ debugbar -> addCollector ( new DebugBar DataCollector MessagesCollector ( ' my_messages ' ));デフォルトでは、Debugbarは</body>の直前に注入されます。 Debugbarを自分で挿入したい場合は、構成オプションをfalseに「注入」し、レンダラーを自分で使用し、http://phpdebugbar.com/docs/rendering.htmlをフォローしてください
$ renderer = Debugbar:: getJavascriptRenderer ();注:Auto-Injectを使用しないと、応答後に追加されるため、リクエスト情報が無効になります。構成としてDefault_Requestデータコレクターを代替として追加できます。
実行時にデバッグバーを有効または無効にすることができます。
Debugbar:: enable ();
Debugbar:: disable ();NB。有効になったら、コレクターが追加されます(および追加のオーバーヘッドを生成する可能性があります)。したがって、生産でDebugbarを使用する場合は、構成で無効になり、必要な場合にのみ有効にします。
Debugbarは、右側のBrowseボタンを使用して表示できる以前のリクエストを覚えています。これは、 debugbar.storage.openを有効にする場合にのみ機能します。他の人が以前のリクエストを見ることができるので、地元の開発でのみこれを行うことを確認してください。一般に、Debugbarはローカルでのみ使用するか、少なくともIPによって制限される必要があります。リクエストオブジェクトを受信するコールバックを渡すことができるため、OpenHandlerストレージへのアクセスを決定できます。
Laravel Debugbarには、2つのTwig拡張機能が付属しています。これらは、Rcrowe/Twigbridge 0.6.xでテストされています
Twigbridge config/extensions.phpに次の拡張機能を追加します(または拡張機能を手動で登録)
' BarryvdhDebugbarTwigExtensionDebug ' ,
' BarryvdhDebugbarTwigExtensionDump ' ,
' BarryvdhDebugbarTwigExtensionStopwatch ' ,ダンプ拡張子は、DataFormatterを使用してダンプ関数を出力変数に置き換えます。デバッグ拡張機能は、テンプレートに直接表示する代わりに、メッセージコレクターに変数を渡すdebug()関数を追加します。それは引数を捨てます、または空のとき。すべてのコンテキスト変数。
{{ debug() }}
{{ debug( user , categories ) }}StopWatch拡張機能は、Symfony/Silex Twigbridgeのものと同様のストップウォッチタグを追加します。
{% stopwatch " foo " %}
…some things that gets timed
{% endstopwatch %}