Попрощайтесь с отладочной панелью Laravel в рабочей среде: как ее отключить для беспрепятственного развертывания

Laravel Debugbar — это мощный инструмент разработки, который предоставляет ценную информацию о производительности вашего приложения Laravel, запросах и многом другом. Однако важно отключить Debugbar в рабочей среде, чтобы обеспечить оптимальную производительность и безопасность. В этой статье блога мы рассмотрим несколько способов отключения Laravel Debugbar в производственной среде. Итак, начнем!

Метод 1: конфигурация на основе среды
Простой подход — использовать встроенную конфигурацию Laravel на основе среды. Откройте файл config/app.phpи найдите ключ 'debug'. По умолчанию ему присвоено значение переменной среды APP_DEBUG, которое в среде разработки обычно равно true. В файле конфигурации производственной среды (например, config/production/app.php) установите для ключа 'debug'значение false. Этот метод гарантирует, что панель отладки полностью отключится, когда ваше приложение работает в производственной среде.

// config/production/app.php
return [
    // Other configuration options...

    'debug' => false,

    // Other configuration options...
];

Метод 2: проверка среды приложения
Если вы предпочитаете более динамичный подход, вы можете условно отключить панель отладки в зависимости от среды приложения. Откройте файл app/Providers/AppServiceProvider.phpи добавьте следующий код в метод register:

// app/Providers/AppServiceProvider.php
use Barryvdh\Debugbar\ServiceProvider as DebugbarServiceProvider;
use Illuminate\Support\Facades\App;
// ...
public function register()
{
    if (App::environment('production')) {
        $this->app->register(DebugbarServiceProvider::class)->disable();
    }
// Other code...
}

Метод 3: использование промежуточного программного обеспечения
Другой способ отключить панель отладки в производственной среде — создать собственное промежуточное программное обеспечение. Сначала создайте новое промежуточное программное обеспечение с помощью команды artisan: php artisan make:middleware DisableDebugbarMiddleware. Затем откройте вновь созданный файл промежуточного программного обеспечения и реализуйте метод handleследующим образом:

// app/Http/Middleware/DisableDebugbarMiddleware.php
namespace App\Http\Middleware;
use Barryvdh\Debugbar\Facade as Debugbar;
use Closure;
class DisableDebugbarMiddleware
{
    public function handle($request, Closure $next)
    {
        if (app()->environment('production')) {
            Debugbar::disable();
        }
        return $next($request);
    }
}

Затем зарегистрируйте промежуточное ПО в массиве $middlewareвашего файла app/Http/Kernel.php:

// app/Http/Kernel.php
protected $middleware = [
    // Other middleware...
    \App\Http\Middleware\DisableDebugbarMiddleware::class,
];

Отключение Laravel Debugbar в производственной среде имеет решающее значение для оптимизации производительности вашего приложения и обеспечения плавного развертывания. В этой статье мы рассмотрели три различных метода достижения этой цели: использование конфигурации на основе среды, динамическую проверку среды приложения и использование специального промежуточного программного обеспечения. Выберите метод, который соответствует требованиям вашего проекта, и наслаждайтесь готовым к использованию приложением Laravel без дополнительных затрат на Debugbar.

Помните, что отладка необходима во время разработки, но в рабочей среде пришло время попрощаться с Debugbar!