laravel 5.4中未显示Laracast/flash

laravel 5.4中未显示Laracast/flash,laravel,flash-message,Laravel,Flash Message,我最近将我的项目从Laravel 5.1升级到了5.4。除了没有显示的闪光信息外,一切正常。我已执行以下检查,以确保我没有做错什么: RouteServiceProvider.php web中间件组通过mapWebRoutes功能自动添加到我的路由中 +--------+----------+-----+--------+------------------------------------------+--------------+ | Domain | Method | URI | N

我最近将我的项目从Laravel 5.1升级到了5.4。除了没有显示的闪光信息外,一切正常。我已执行以下检查,以确保我没有做错什么:

  • RouteServiceProvider.php
  • web中间件组通过mapWebRoutes功能自动添加到我的路由中

    +--------+----------+-----+--------+------------------------------------------+--------------+
    | Domain | Method   | URI | Name   | Action                                   | Middleware   |
    +--------+----------+-----+---------------------------------------------------+--------------+
    |        | GET|HEAD | /   |        | App\Http\Controllers\HomeController@index| web,auth     |
    
  • Kernel.php
  • 下面是Kernel.php中中间件组的内容

     'web' => [
                    \App\Http\Middleware\EncryptCookies::class,
                    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
                    \Illuminate\Session\Middleware\StartSession::class,
                    // \Illuminate\Session\Middleware\AuthenticateSession::class,
                    \Illuminate\View\Middleware\ShareErrorsFromSession::class,
                    \App\Http\Middleware\VerifyCsrfToken::class,
                    \Illuminate\Routing\Middleware\SubstituteBindings::class,
                ],
    
  • flash()放在重定向之前

    flash()->成功('Bob stone添加成功'); $target\u location='cia\u agent/'$代理_id.'/profile'; 返回重定向($target_location)

  • 在Chrome开发者工具的网络中只返回一个302响应


    上面的代码在Laravel 5.1中工作,我在这里缺少什么?

    在挖掘之后,我找到了解决方案。在/resources/views/vendor/flash/message.blade.php中,我有以下用于Laravel 5.1的代码

    @if (Session::has('flash_notification.message'))
        @if (Session::has('flash_notification.overlay'))
            @include('flash::modal', ['modalClass' => 'flash-modal', 'title' => Session::get('flash_notification.title'), 'body' => Session::get('flash_notification.message')])
        @else
            <div class="alert alert-{{ Session::get('flash_notification.level') }}">
                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
    
                {{ Session::get('flash_notification.message') }}
            </div>
        @endif
    @endif
    
    @if(会话::has('flash_notification.message'))
    @if(Session::has('flash_notification.overlay'))
    @包括('flash::modal',['modalClass'=>'flash modal','title'=>Session::get('flash\u notification.title'),'body'=>Session::get('flash\u notification.message'))
    @否则
    &时代;
    {{Session::get('flash_notification.message')}
    @恩迪夫
    @恩迪夫
    
    但是,由于用于显示消息的Laracasts/flash view partial发生了更改,我将新代码放在文件中:

    @foreach ((array) session('flash_notification') as $message)
        @if ($message['overlay'])
            @include('flash::modal', [
                'modalClass' => 'flash-modal',
                'title'      => $message['title'],
                'body'       => $message['message']
            ])
        @else
            <div class="alert
                        alert-{{ $message['level'] }}
                        {{ $message['important'] ? 'alert-important' : '' }}"
                 role="alert"
                    >
                @if ($message['important'])
                    <button type="button"
                            class="close"
                            data-dismiss="alert"
                            aria-hidden="true"
                            >&times;</button>
                @endif
    
                {!! $message['message'] !!}
            </div>
        @endif
    @endforeach
    
    {{ session()->forget('flash_notification') }}
    
    @foreach((数组)会话('flash_通知')作为$message)
    @如果($message['overlay']))
    @包括('flash::modal'[
    'modalClass'=>'flash modal',
    'title'=>$message['title'],
    'body'=>$message['message']
    ])
    @否则
    @如果($message['important']))
    &时代;
    @恩迪夫
    {!!$message['message']!!}
    @恩迪夫
    @endforeach
    {{session()->forget('flash_notification')}
    

    它现在工作正常。

    您使用的是哪个版本的软件包?您是否尝试过将flash软件包更新到最新版本?我正在使用laracasts/flash 3.0此处更改了用于显示消息的部分视图。如果您已经发布并使用了它,则需要手动更改它。这是发布变更日志中的内容,我确实有正确的看法。这是通过
    @include('flash::message')