5.1 新增了一种inject的注入方法。 可以直接在视图里面注入数据,直接上代码:
首先需要新建一个服务,比如
~~~
// 目录:app/Lists.php
namespace App;
class Lists
{
public function lists() {
return Article::limit(12)->get();
}
}
~~~
那么对应的视图文件需要这么写: (这个视图是被@include的)
~~~
@inject('lists','App\Lists')
<div class="panel panel-primary">
<div class="panel-heading">
<i class="fa fa-heart-o fa-lg"></i> 你可能喜欢:
</div>
<div class="panel-body">
<div class="list-group">
@foreach($lists->lists() as $list)
<a href="{{ action('ArticleController@show',['id'=>$list->id]) }}" class="list-group-item">{!! $list->title !!}</a>
@endforeach
</div>
</div>
</div>
~~~
> 注意到了么,开头有一个@inject的指令。第一个参数是类名(英文翻译是 “此服务将会替换的变量名”),第二个是命名空间
> 只需要这么一个指令,注入就完成了,成功以后就是正常的获取数据,填充数据了。
> 需要注意的是@inject的第一个参数是变量名,但是没有$,而下面调用的时候需要加上$