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的第一個參數是變量名,但是沒有$,而下面調用的時候需要加上$