- _nosay
向laravel公共模板中传值
2017-09-15 09:55:43
在许多场景中,网页的一块区域必定会在很多页面中复用,比如说头部和尾部。
所以我们需要把这些公用的区域提出来,变成一个单独的模块,然后我们就可以@include或@extends啦
但是,如果我们需要对这些公用的模板传值应该怎么办呢?
不可能每个controller的function中都传一次吧,那样显得太笨了。
而laravel似乎给我们提供了一个比较便捷的方法,特此记录一下
我们找到app/Providers/AppServiceProvider.php文件,在boot方法中写入
$redis = new RedisRepository();
view()->composer(['layouts.front.main_header','layouts.front.main_header2','layouts.front.main_footer'], function ($view) use ($redis) {
if(is_null($redis->getCacheByName('systemInfo')))
{
$systemInfo = (new SystemRepository())->getSystemById();
$redis->setCacheByName('systemInfo',$systemInfo);
}else{
$systemInfo = $redis->getCacheByName('systemInfo');
}
$view->with('systemInfo',$systemInfo);
}); 就实现了单独对这些公用的模板传值的问题,特此记录一下