Как проверить, является ли текущий запрос или маршрут частью Auth :: routs () в Laravel - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь скрыть боковую панель в файле app.blade.php по умолчанию, не создавая новый файл макета.

Я пытаюсь добавить оператор if, чтобы скрыть боковую панель, если запрос или маршрут является частьюиз тех, что созданы Auth::routes()

Я знаю, что могу перечислить кучу Request::is('login') и Request::is('register') и т. д.

Мне просто интересно, есть ли простой прием дляпроверьте, является ли запрос какой-либо из страниц, связанных с аутентификацией.

Спасибо!

Ответы [ 3 ]

1 голос
/ 04 ноября 2019

Один из способов - стать хитрым и использовать массив actions для маршрута. При определении группы эти атрибуты объединяются с атрибутами Route.

Настройка группы с атрибутом authroutes (или любым другим именем, которое вам нужно):

Route::group(['authroutes' => true, ....], function () {
    Auth::routes(...);
});

Впросмотрите текущий маршрут, чтобы увидеть, имеет ли он authroutes атрибут действия:

@if (Request::route()->getAction('authroutes', false))
    // this is one of the routes from `Route::auth`
@endif

getAction принимает свойство, которое мы хотим найти, и значение по умолчанию.

0 голосов
/ 04 ноября 2019

Проверьте, попадает ли название текущего маршрута в нужный список.

@if (in_array(request()->route()->getName(), ['login', 'register']))

// Request is in Auth Routes

@else

// Request not in Auth Routes

@endif
0 голосов
/ 04 ноября 2019

Вы можете создать вспомогательную функцию, которая будет проверять маршруты аутентификации.

function checkAuthRoute() {
 $routes = \Route::getRoutes();
 // iterate routes
 foreach($routes as $route){
   // your logic here
 }

}
...