fruitcake/laravel-telescope-toolbar

Toolbar for Laravel Telescope based on Symfony Web Profiler

v1.3.5 2024-03-12 20:49 UTC

README

Unit Tests Packagist License Latest Stable Version Total Downloads Fruitcake

Extends Laravel Telescope to show a powerful Toolbar

See https://github.com/laravel/telescope

Install

First install Telescope and check it works (see https://laravel.com/docs/master/telescope)

composer require laravel/telescope
php artisan telescope:install

# Telescope 5.0 no longer automatically loads migrations from its own migrations directory. Instead, you should run the following command to publish Telescope's migrations to your application:
php artisan vendor:publish --tag=telescope-migrations

php artisan migrate

Then just install the package with Composer and it will register automatically:

composer require fruitcake/laravel-telescope-toolbar --dev

The Toolbar will show by default when Telescope is enabled and APP_DEBUG is true. It can also enabled or disabled using the TELESCOPE_TOOLBAR_ENABLED environment variable.

image

Note: The Toolbar is intended for Development environments, not for production.

Publishing the config

Run this command to publish the config for this package:

php artisan vendor:publish --provider="Fruitcake\\TelescopeToolbar\\ToolbarServiceProvider"

Current Features

  • Inject Toolbar for quick info
  • Show redirects and Ajax Requests
  • Link to related Telescope Entry page
  • Show up to 5 entries for collectors, link to details
  • Supported Collectors:
    • Request info / timing
    • User auth
    • Database queries
    • Laravel/php version
    • Cache hit/miss/set
    • Logger entries
    • Exceptions
    • Mails
    • Notifications
    • Jobs
    • Dumps (when watching the Dump screen, or using debug(...$args))
    • Number of entries for: Commands/Models/Events

Screenshots

Ajax/ Redirects stack:

image

Preview for Exceptions/Mail/Notifications/Log entries with link to details:

image

Counter for Queries (and Cache etc):

image

Catch debug()/Toolbar::dump() calls and show them directly in the Toolbar instead of the page:

image

Running the Test Suite

  • Make sure ChromeDriver is up to date: vendor/bin/dusk-updater detect --auto-update
  • Create the Sqlite database: vendor/orchestra/testbench-dusk/create-sqlite-db
  • Run the tests: composer test

License and attribution

Laravel Telescope Toolbar is open-sourced software licensed under the MIT license.

Based on Symfony Web Profiler and Laravel Telescope

The styling, javascript, some icons and html of the Toolbar and (part of) its Collectors are based on the Symfony Web Profiler. JS/CSS is mostly copied and converted to Blade syntax. Collectors are modified to show Laravel data. See https://github.com/symfony/web-profiler-bundle - © 2004-2019 Fabien Potencier

Data from collectors is provided by Laravel Telescope. Some styling/icons/logic are alse re-used. See https://github.com/laravel/telescope - © Taylor Otwell