laravel在渲染之前将参数传递给主布局?

时间:2017-07-10 14:01:32

标签: php arrays laravel view laravel-5.4

我正在制作一个应用程序,我希望将错误参数传递给部分刀片中的主视图使用,名为error.blade.php。

我正在检查控制器中的某个变量,如果发生任何错误,我将其添加到错误数组中,如下所示:

  

$ error [] ='错误1';

我希望将其传递给名为error.blade.php的部分刀片视图并渲染它,但我该怎么办呢?

  

这个数组可能是空的。

如何在渲染之前将此数组传递给主布局?

我在每个控制器上使用此错误数组。

请帮帮我

2 个答案:

答案 0 :(得分:0)

您可以使用View Composer,只需在提供商的boot()方法中传递数据。

    View::composer('master', function ($view) {
       $view->with('errors', $errors);          
    });

$errors现在可以在您的视图中使用。

答案 1 :(得分:0)

All you need to do is add this line :

\Illuminate\View\Middleware\ShareErrorsFromSession::class,

To your app/Http/Kernel.php especially in the protected $middleware = array

And all you need to do is add ->withErrors($errors) to redirect or view methods and $errors variable will be accessible everywhere in the view even if the master layout