如何在 laravel 的剩余页面上隐藏消息?

How to hide message on the remaining pages in laravel?

我在主布局中包含以下模板 blade:

 @if (Auth()->user()->verified == "0")
                @include('common.verify-error')
            @endif

那么,如何在除/test/out

之外的所有URL上显示@include('common.verify-error')

我应该在控制器中执行此操作还是在模板中执行简单的 if 条件?

首先,可能有几种不同的方法。就个人而言,我会按照中间件 class 的方式做一些事情......或者在视图中注入 class 等

但是,他是另一种可能更适合您需求的解决方案。

编辑: 进行了更改。我假设您使用命名路由(并且应该,如果您想更改 url 等。例如,您不必处理更改所有这些 if 语句)。

@if (Auth()->user()->verified == "0" && !Route::is('test') && !Route::is('out'))
    @include('common.verify-error')
@endif

您可以使用 is() 掩码方法:

@if (auth()->user()->verified == 0 && !request()->is('test/*') && !request()->is('out/*'))
    @include('common.verify-error')
@endif