이것은 PHP 디버그 바를 Laravel과 통합하는 패키지입니다. 디버그 바를 등록하고 출력에 첨부하는 ServiceProvider가 포함되어 있습니다. Laravel을 통해 자산을 게시하고 구성 할 수 있습니다. 일부 수집가가 Laravel과 함께 일하도록 부트 스트랩하고 Laravel과 관련된 몇 가지 사용자 정의 데이터 수집가를 구현합니다. 리디렉션 및 (jQuery) ajax 요청을 표시하도록 구성됩니다. (드롭 다운에 표시) 더 많은 구성 옵션에 대한 설명서를 읽으십시오.

주의
디버그 바를 개발 중에만 사용하십시오. 공개적으로 액세스 가능한 웹 사이트에서 디버그 바를 사용하지 않으므로 저장된 요청 (설계 별)에서 정보가 유출되므로 정보가 유출됩니다.
경고
또한 응용 프로그램이 느려질 수 있습니다 (데이터를 수집하고 렌더링해야하기 때문에). 따라서 속도가 느려질 때는 일부 수집가를 비활성화하십시오.
이 패키지에는 일부 사용자 정의 수집가가 포함됩니다.
Laravel의 다음 수집가를 부트 스트랩합니다.
그리고 기본 수집기 :
또한 쉬운 로깅 메시지, 예외 및 시간을위한 Facade Interface ( Debugbar )도 제공합니다.
작곡가와 함께이 패키지가 필요합니다. 개발을위한 패키지 만 필요로하는 것이 좋습니다.
composer require barryvdh/laravel-debugbar --devLaravel은 패키지 자동 발견을 사용하므로 ServiceProvider를 수동으로 추가 할 필요가 없습니다.
Debugbar는 APP_DEBUG true 일 때 활성화됩니다.
Catch-All/Fallback Route를 사용하는 경우 Debugbar ServiceProvider를 앱 서비스 제공 업체에로드하십시오.
자동 발견을 사용하지 않으면 ServiceProvider를 제공자 목록에 추가하십시오. Laravel 11 또는 최신의 경우 Bootstrap/Providers.php에 ServiceProvider를 추가하십시오. Laravel 10 이상의 경우 config/app.php에 ServiceProvider를 추가하십시오.
Barryvdh Debugbar ServiceProvider::class, Facade를 사용하여 메시지를 로그인하려면 app/Providers/AppServiceProvider.php 클래스의 register 메소드 내에 추가하십시오.
public function register (): void
{
$ loader = Illuminate Foundation AliasLoader:: getInstance ();
$ loader -> alias ( ' Debugbar ' , Barryvdh Debugbar Facades Debugbar::class);
} profiler는 app_debug = true가있는 경우 기본적으로 활성화됩니다. config ( debugbar.enabled )에서 또는 .env 에서 DEBUGBAR_ENABLED 설정하여 해체 할 수 있습니다. config/debugbar.php 에서 더 많은 옵션을 참조하십시오. 공급 업체 파일도 포함/제외하려면 구성에서 설정할 수 있습니다 (Fontawesome, Highlight.js 및 JQuery). 사이트에서 이미 사용하는 경우 False로 설정하십시오. JS 또는 CSS 공급 업체를 'JS'또는 'CSS'로 설정하여 JS 또는 CSS 공급 업체 만 표시 할 수도 있습니다. (하이라이트 .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 레벨 (디버그, 정보, 통지, 경고, 오류, 비판, 경고, 비상)을 사용하여 Facade (추가 할 때)를 사용하여 메시지를 추가 할 수 있습니다.
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> 직전에 주입됩니다. 디버그 바를 직접 주입하려면 구성 옵션 'Inject'를 False로 설정하고 렌더러를 직접 사용하고 http://phpdebugbar.com/docs/rendering.html를 따르십시오.
$ renderer = Debugbar:: getJavascriptRenderer ();참고 : 자동 인젝트를 사용하지 않으면 응답 후 추가되기 때문에 요청 정보가 비활성화됩니다. 구성에서 default_request 데이터 컬렉터를 대안으로 추가 할 수 있습니다.
런타임 중에 디버그 바를 활성화하거나 비활성화 할 수 있습니다.
Debugbar:: enable ();
Debugbar:: disable ();NB. 일단 활성화되면 수집기가 추가되고 (추가 오버 헤드를 생성 할 수 있음), 프로덕션에서 디버그 바를 사용하려면 구성을 비활성화하고 필요할 때만 활성화하십시오.
Debugbar는 이전 요청을 기억하며 오른쪽의 찾아보기 버튼을 사용하여 볼 수 있습니다. debugbar.storage.open 활성화하는 경우에만 작동합니다. 다른 사람들이 이전 요청을 볼 수 있기 때문에 지역 개발에 대해서만이 작업을 수행하십시오. 일반적으로 디버그 바는 로컬로만 사용하거나 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 %}