Если у вас есть несколько контроллеров / ресурсов, к которым вы хотите применить эту проверку, вы можете создать промежуточное ПО и применить его в маршрутах.
Примерно так:
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.