Laravel View Composer 解决视图公共部分的数据传递

  • James
  • 1年前
  • 211 次阅读
  • 更新于 1天前

网站开发中,公共部分数据的传递,比如菜单、侧边栏、友情链接之类的。这些公共数据的传递就可以用 view composer 去实现传递,避免里在控制器中重复获取以及传递视图组件需要的数据.

 

视图合成器 viewComposer

第一步 定义视图合成器这个类,通常放在 app/Http/ViewComposers 目录下

namespace App\Http\ViewComposers;

use App\Services\WebService;
use Illuminate\View\View;

class WebComposer
{
    protected $webComposer;

    public function __construct(WebService $commonWebService)
    {
        $this->webComposer = $commonWebService;
    }

    public function compose(View $view)
    {
        $view->with($this->webComposer->index());
    }
}

 

第二步 注册视图合成器

namespace App\Providers;


use App\Http\ViewComposers\WebComposer;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        View()->composer('layouts.web', WebComposer::class);
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

}

 

今日分享,希望对你有帮助!


   本站文章除注明转载/出处外,均为本站原创或翻译。若要转载但请务必注明出处,尊重他人劳动成果。    本文链接: http://james.dmzfa.com/articles/laravel-view-composer-jie-jue-shi-tu-gong-gong-bu-fen-de-shu-ju-chuan-di

上一篇:Laravel Eloquent – 快速复制数据

下一篇:【转】谷歌浏览器安装json格式化插件

文章评论 (0)发表评论

Top