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!