Это пакет для интеграции бара Debug PHP с Laravel. Он включает в себя ServiceProvider для регистрации Debugbar и прикрепления его к выводу. Вы можете публиковать активы и настроить их через Laravel. Он загружает некоторых коллекционеров для работы с Laravel и реализует пару пользовательских обработчиков обработки данных, специфичных для Laravel. Он настроен на отображение перенаправлений и (jquery) запросов Ajax. (Показано в раскрывающемся спине) Прочитайте документацию для дополнительных параметров конфигурации.

Осторожность
Используйте Debugbar только в разработке. Не используйте Debugbar на общедоступных веб -сайтах, так как он будет утекать информацию из сохраненных запросов (по дизайну).
Предупреждение
Это также может замедлить приложение (потому что оно должно собирать и отображать данные). Поэтому, испытывая медлительность, попробуйте отключить некоторых коллекционеров.
Этот пакет включает в себя несколько пользовательских коллекционеров:
Нагрузки на следующие коллекционеры для Laravel:
И коллекционеры по умолчанию:
Он также предоставляет интерфейс фасада ( Debugbar ) для простых сообщений о ведении журнала, исключений и времени
Требовать этот пакет с композитором. Рекомендуется требовать только пакета для разработки.
composer require barryvdh/laravel-debugbar --devLaravel использует автоматическое открытие пакета, поэтому не требует, чтобы вы вручную добавляли ServiceProvider.
Debugbar будет включен, когда APP_DEBUG будет true .
Если вы используете маршрут Catch-All/Swarkback, убедитесь, что загрузите Debugbar ServiceProvider перед собственными приложениями ServicePiders.
Если вы не используете автоматическое открытие, добавьте ServiceProvider в список поставщиков. Для Laravel 11 или новее добавьте ServiceProvider в Bootstrap/Providers.php. Для Laravel 10 и старше добавьте ServiceProvider в config/app.php.
Barryvdh Debugbar ServiceProvider::class, Если вы хотите использовать Facade для журнала сообщений, добавьте это в метод register app/Providers/AppServiceProvider.php Class:
public function register (): void
{
$ loader = Illuminate Foundation AliasLoader:: getInstance ();
$ loader -> alias ( ' Debugbar ' , Barryvdh Debugbar Facades Debugbar::class);
} Профилировщик включен по умолчанию, если у вас есть app_debug = true. Вы можете переопределить это в конфигурации ( debugbar.enabled ) или установив DEBUGBAR_ENABLED в вашем .env . См. Дополнительные параметры в config/debugbar.php Вы также можете установить в свою конфигурацию, если вы хотите включить/исключить файлы поставщиков также (fontawesome, hight.js и jQuery). Если вы уже используете их на своем сайте, установите его на false. Вы также можете отобразить только поставщики JS или CSS, установив его на «JS» или «CSS». (Hight.js требует оба CSS + JS, поэтому установите 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 самостоятельно, установите опцию конфигурации «Inject 'to false и используйте рендеринг самостоятельно и следуйте http://phpdebugbar.com/docs/rendering.html
$ renderer = Debugbar:: getJavascriptRenderer ();Примечание. Не используя автоматическое инъекцию, отключит информацию о запросе, потому что это добавлено после ответа. Вы можете добавить Datacollector DataCollector Default_Request в конфигурацию в качестве альтернативы.
Вы можете включить или отключить Debugbar во время выполнения.
Debugbar:: enable ();
Debugbar:: disable ();Нб. После включения коллекционеры добавляются (и могут производить дополнительные накладные расходы), поэтому, если вы хотите использовать Debugbar в производстве, отключить в конфигурации и включить только при необходимости.
Debugbar вспоминает предыдущие запросы, которые вы можете просмотреть, используя кнопку «Просмотр справа». Это будет работать только в том случае, если вы включите debugbar.storage.open в конфигурации. Убедитесь, что вы делаете это только в местном развитии, потому что в противном случае другие люди смогут просматривать предыдущие запросы. В целом, Debugbar следует использовать только локально или, по крайней мере, ограничено IP. Можно пройти обратный вызов, который получит объект запроса, поэтому вы можете определить доступ к хранилищу OpenHandler.
Laravel Debugbar поставляется с двумя расширениями веток. Они протестированы с помощью RCROWE/TWIGBRIDGE 0.6.x
Добавьте следующие расширения в свой конфигурация/extensions.php twigbridge (или зарегистрируйте расширения вручную)
' BarryvdhDebugbarTwigExtensionDebug ' ,
' BarryvdhDebugbarTwigExtensionDump ' ,
' BarryvdhDebugbarTwigExtensionStopwatch ' , Расширение дампа заменит функцию дампа на выходные переменные, используя форматтер данных. Расширение отладки добавляет функцию debug() , которая передает переменные коллекционеру сообщений, вместо того, чтобы показывать ее непосредственно в шаблоне. Он сбрасывает аргументы или когда пуст; Все контекстные переменные.
{{ debug() }}
{{ debug( user , categories ) }}Расширение секунды добавляет тег секундомата, похожий на такую в Symfony/Silex Twigbridge.
{% stopwatch " foo " %}
…some things that gets timed
{% endstopwatch %}