laravel视图合成器viewcomposer

作者: liluchang 分类: laravel 发布时间: 2018-07-17 10:42

laravel中向多个视图传递公共数据,谁需要就传递给谁,一般情况下,都是用viewcomposer来完成

在AppServiceProvider文件中,boot方法内,可以使用最简单的方法传递数据

view()->composer('layouts.app',function($view){
            $view->with([
                'totalCount'=>30,
                'todoCount'=>10,
                'doneCount'=>20,
            ]);
        });

但是一般情况下,我们不会写在AppServiceProvider里面,因为我们极有可能会有很多数据要传输,而不能都写在这个地方,最好是创建一个专门的Provider来做这些事

例如,创建一个ViewServiceProvider,把上面的代码转到这个Provider的boot里面。然后再app.php文件中加载ViewServiceProvider,就可以了

通常自己的做法是在app\Http下面创建一个ViewComposer文件夹,里面放置所有的ViewComposer的类。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

标签云