2017-01-30 2 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 код (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

Спасибо, это действительно сработало. –

Смежные вопросы