Laravel как включить debugbar только для админов?

Для включения Debugbar только для администраторов в Laravel, вам понадобится несколько шагов:

  1. Установите пакет Debugbar, выполнив команду composer require barryvdh/laravel-debugbar.
  1. После установки откройте файл config/app.php и добавьте следующую строку в раздел providers:
   BarryvdhDebugbarServiceProvider::class,
  1. Затем откройте файл app/Providers/AppServiceProvider.php и импортируйте класс Debugbar, добавив следующую строку в верхней части файла:
   use BarryvdhDebugbarFacade as Debugbar;
  1. Внутри метода register класса AppServiceProvider добавьте следующий код:
   if ($this->app->isLocal() || $this->app->runningUnitTests()) {
       Debugbar::enable();
   }
  1. Создайте middleware, который будет проверять, является ли текущий пользователь администратором. Для этого выполните команду php artisan make:middleware AdminMiddleware. Откройте только что созданный файл app/Http/Middleware/AdminMiddleware.php и внесите следующие изменения:
   namespace AppHttpMiddleware;
   
   use Closure;
   use Debugbar;
   
   class AdminMiddleware
   {
       public function handle($request, Closure $next)
       {
           if ($request->user() && $request->user()->isAdmin()) {
               Debugbar::enable();
           } else {
               Debugbar::disable();
           }
   
           return $next($request);
       }
   }
  1. Зарегистрируйте middleware в app/Http/Kernel.php, добавив следующую строку в массив $routeMiddleware:
   'admin' => AppHttpMiddlewareAdminMiddleware::class,
  1. Далее, укажите, что Debugbar должен использовать Middleware admin. Откройте файл config/debugbar.php и найдите строчку 'middleware' => null,. Измените ее на:
   'middleware' => 'admin',
  1. Теперь, чтобы пользоваться Debugbar, вам нужно добавить метод isAdmin() в модель пользователя (обычно это модель AppUser). Сделайте это, добавив следующий код в эту модель:
   public function isAdmin()
   {
       return $this->is_admin;
   }

После выполнения этих шагов, Debugbar будет включен только для администраторов вашего приложения. При обращении любого пользователя, не являющегося администратором, Debugbar будет автоматически отключен.