Laravel 5.1 传递数据(控制器 -> 视图)

Laravel 5.1 Passing data (controller -> view)

我是 Laravel 的新手,我想了解从控制器到视图共享值的最佳方法是什么:我发现了几种方法:

  1. 查看()->分享('variable_name',$value);
  2. session(['variable_name'=>$value]);
  3. return 视图('viewname')->with('variable_name'=>$value);

这些方式有什么区别吗? 此外,从模型(从设计的角度)共享数据是否是一个好习惯?

谢谢

1) 将数据从控制器传递到视图的最佳有效方法是

return view('viewname')->with('variable_name'=>$value);

数据将在特定页面视图中访问

2) 虽然这也是有效的方法,但是当您想要在您访问的任何页面上的所有视图中共享数据时使用这种情况

view()->share('variable_name',$value);

上面一行的意思是,当你访问任何页面时,在所有页面中你的variable_name都将可用例如

welcome
contact us
about us
gallery
admin/listing etc

3) session() 用于在所有网站页面上存储少量信息。 eg:我们存储,用户基本信息,上次登录时间,重定向url等(这取决于要求),默认会话有一些到期时间,大约20分钟,意味着如果你什么都不做 activity,你的会话将过期。

我希望这对你有意义