這是將PHP調試欄與Laravel集成的軟件包。它包括一個ServiceProvider,用於註冊Debugbar並將其連接到輸出。您可以發布資產並通過Laravel進行配置。它引導一些收藏家與Laravel合作,並實施了一些定制數據收錄機,該數據彙編特徵特有的Laravel。它配置為顯示重定向和(jQuery)Ajax請求。 (在下拉列表中顯示)閱讀文檔以獲取更多配置選項。

警告
僅在開發中使用debugbar。請勿在可公開訪問的網站上使用debugbar,因為它將從存儲的請求(按設計)中洩漏信息。
警告
它也可以減慢應用程序的速度(因為它必須收集並渲染數據)。因此,在經歷緩慢的時,請嘗試禁用一些收藏家。
此軟件包包括一些自定義收藏家:
引導以下收藏家為拉拉維爾(Laravel):
和默認收藏家:
它還提供了一個立面界面( Debugbar ),可輕鬆記錄消息,例外和時間
需要此包裝與作曲家。建議僅需要開發包。
composer require barryvdh/laravel-debugbar --devLaravel使用軟件包自動發現,因此不需要您手動添加ServiceProvider。
當APP_DEBUG為true時,將啟用debugbar。
如果您使用全方位/後備路線,請確保在自己的App ServiceProviders之前加載Debugbar ServiceProvider。
如果您不使用自動發現,請將ServiceProvider添加到提供商列表中。對於Laravel 11或較新的,請在Bootstrap/Provider.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,則默認情況下啟用了profiler。您可以在config( debugbar.enabled )中覆蓋,或通過在.env中設置DEBUGBAR_ENABLED 。如果要包含/排除供應商文件(fontawesome,firtlight.js和jquery),請參見config/debugbar.php中的更多選項。如果您已經在網站中使用它們,請將其設置為false。您也只能通過將其設置為“ JS”或“ CSS”來顯示JS或CSS供應商。 true亮點。
php artisan vendor:publish --provider= " BarryvdhDebugbarServiceProvider "確保將laraveldebugbar添加到config/octane.php中的齊平列表中。
' flush ' => [
Barryvdh Debugbar LaravelDebugbar::class,
],對於Lumen,在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 ' ));默認情況下,在</body>之前註入了debugbar。如果您想自己注入debugbar,請將配置選項“注入”設置為false,然後自己使用渲染器,然後關注http://phpdebugbar.com/docs/rendering.html
$ renderer = Debugbar:: getJavascriptRenderer ();注意:不使用自動注射,將禁用請求信息,因為在響應後添加了請求信息。您可以在配置中添加default_request datacollector作為替代方案。
您可以在運行時間內啟用或禁用Debugbar。
Debugbar:: enable ();
Debugbar:: disable ();NB。啟用後,添加了收集器(並且可能會產生額外的開銷),因此,如果您想在生產中使用debugbar,請在配置中禁用,並且僅在需要時啟用。
Debugbar記得以前的請求,您可以使用右側的瀏覽按鈕查看。僅當您在配置中啟用debugbar.storage.open時,這才能正常工作。確保您僅在本地開發方面執行此操作,因為其他人將能夠查看以前的請求。通常,Debugbar僅應在本地或至少受到IP限制。可以通過回調,該回調將接收請求對象,因此您可以確定訪問OpenHandler存儲。
Laravel Debugbar帶有兩個樹枝擴展。這些用Rcrowe/Twigbridge測試0.6.x
將以下擴展名添加到您的twigbridge config/Extensions.php(或手動註冊擴展程序)
' BarryvdhDebugbarTwigExtensionDebug ' ,
' BarryvdhDebugbarTwigExtensionDump ' ,
' BarryvdhDebugbarTwigExtensionStopwatch ' ,轉儲擴展名將使用DataFormatter替換為輸出變量。調試擴展名添加了一個debug()函數,該功能將變量傳遞給消息收集器,而不是直接在模板中顯示。它會傾倒參數,或者是空的;所有上下文變量。
{{ debug() }}
{{ debug( user , categories ) }}秒錶擴展名添加了一個秒錶標籤,類似於Symfony/Silex Twigbridge中的秒錶標籤。
{% stopwatch " foo " %}
…some things that gets timed
{% endstopwatch %}