Как мне сделать DebugPage только в среде разработки? - PullRequest
0 голосов
/ 06 мая 2020

Я использую Laravel 7.0. Я ищу хороший способ отображения страниц отладки только в среде отладки? Как мне сделать, чтобы скрыть в производственной среде?

Route::resource('/debug', 'DebugController')->middleware('auth');

1 Ответ

0 голосов
/ 06 мая 2020

Если у вас есть несколько контроллеров / ресурсов, к которым вы хотите применить эту проверку, вы можете создать промежуточное ПО и применить его в маршрутах.

Примерно так:

Route::resource('/debug', 'DebugController')->middleware(['auth', 'debug');

Если вам нужна эта проверка только в этом контроллере, вы можете вместо этого выполнить простое закрытие промежуточного программного обеспечения в конструкторе.

Примерно так:

use Illuminate\Http\Response;

class DebugController extends Controller
{
    public function __construct()
    {
        $this->middleware(function ($request, $next) {
            if (app()->environment() === 'production') {
                abort(Response::HTTP_FORBIDDEN);
            }

            return $next($request);
        });
    }
}

Это вернет ответ 403 если окружение production, но оно пропускает запрос через development, local, testing et c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...