Barry vd. Heuvel щойно оголосив, що PHP DebugBar v3 вже випущено, а Laravel Debugbar з’явиться незабаром.
# Нові можливості PHP DebugBar:
- Оновлено JavaScript — видалено jQuery
- Нові іконки Tabler з build-скриптом — замінюють важкий FontAwesome на мінімальні SVG-іконки
- Build-скрипти для префіксованих залежностей та мінімізованих assets
- Новий AssetHandler — спрощує вивантаження assets у власний проєкт
- Покращено контраст у світлому режимі
- Можливість відображати debugbar зверху замість знизу
- Віджети рендеряться при відкритті вкладки — скорочує час початкового завантаження сторінки
- Покращено підтримку TimelineData для інших колекторів
- Підтримка backtrace для QueryCollector
- Статичний аналіз через phpstan/eslint, повсюдна наявність typehints
- Додано Symfony HttpFoundation Request collector (з bridge)
- Покращено продуктивність і багато інших оптимізацій.
# Несумісні зміни, про які варто знати
Це мажорний реліз. Якщо у вас є кастомні колектори, віджети або глибока інтеграція — очікуйте змін:
# Віджети та UI
- jQuery видалено; віджети тепер — JavaScript-класи. Кастомні віджети потребують оновлення.
- FontAwesome видалено; його замінили SVG-іконками Tabler, вбудованими в CSS. Включено лише іконки, що використовуються в дефолтних віджетах — розширенням debugbar потрібно додати власні іконки.
- Усі віджети отримали typehints, тож може знадобитися їх оновити.
- Віджети рендеряться при відкритті вкладки, а не під час завантаження сторінки.
# Зміни в DataCollectors
- TimeDataCollector вилучено з конструкторів; додано метод setTimeDataCollector.
- useHtmlVarDumper видалено. За замовчуванням використовується HtmlDataFormatter. Щоб отримати plain-text, встановіть за замовчуванням DataFormatter.
- Вилучено застарілі методи
- Видалено get/setBindAjaxHandlerToJquery (використовуйте bind для fetch/xhr замість цього)
- Видалено Assetic collection (за потреби користуйтесь getAssets() напряму)
- Видалено підтримку RequireJS
- Видалено captureVar і renderCapturedVar з DebugBarVarDumper
- Несумісні зміни в методах та інтерфейсах
- Усе має typehints, тож, можливо, доведеться оновити код кастомних колекторів.
- getAssets() втратив параметр $type і тепер повертає всі assets.
- OpenHandler тепер вимагає обов'язкове встановлення параметра op.
- DataFormatterInterface отримав другий параметр 'deep' для formatVar.
- StorageInterface отримав новий метод 'prune'.
Перегляньте повне оголошення про реліз на GitHub