2017-01-30 81 views
1

我是從Laracast下面的教程將數據傳遞給諧音定製服務提供商不確定變量[注意:使用Laravel 5.3。我所做的每一步,如視頻,但我在局部得到未定義的變量錯誤(_nav)。我確實通過了所有視頻評論,其中一些人也有同樣的問題,但沒有任何解決方案。不知道是哪裏出了這個wrong.Is因爲我使用Laravel 5.3和教程上Laravel取得5

下面是我的代碼: 添加定製服務提供商config/app.php

App\Providers\ViewComposerServiceProvider::class, 

訂作服務提供商`ViewComposerServiceProvider.php

<?php 
namespace App\Providers 
use Illuminate\Support\ServiceProvider; 
class ViewComposerServiceProvider extends ServiceProvider 
{ 
    public function boot() 
    { 
     $this->composeNavigation(); 
    } 
    public function register() 
    { 
    // 
    } 

    private function composeNavigation(){ 
     view()->composer('partials._nav','App\Http\Composers\NavigationComposer'); 
    } 
} 

NavigationComposer.php

<?php 
namespace App\Http\Composers; 
use Illuminate\Contracts\View\View; 
use App\Tour; 
class NavigationComposer{ 

public function compose(View $view) 
    { 
     $view->with('latest',Tour::latest()->first()); 
    } 
} 

局部模板代碼(partials._nav

<li><a href="#">{{$latest->title}}</a></li> 
+0

嘗試運行'作曲家dumpauto'和'PHP工匠清晰編譯的命令。 –

+0

試圖按你的指令仍然沒有運氣 –

回答

1

大家都知道,視頻教程已於Larave 5製成,你是在5.3這樣做。並且在視頻中提到的或者說實踐的方法在laravel 5.3中不起作用[不完整]。您正確地創建自定義服務提供程序和類來處理查詢請求。

在你ViewComposerServiceProvider.php刪除composeNavigation() mentod並添加下面的方法boot()

 View::composer(
     'partials/_nav', 'App\Http\Composers\NavigationComposer' 
    ); 

和其他代碼似乎所有fine.Here是官方documentation

+0

由於它果然奏效。 –