2016-04-20 3 views
2

Ich habe gerade das Laracast-Video auf View Composers angesehen.Auto-Lade-Ansicht-Composer-Datei

Alles funktioniert, aber es gibt einen letzten Teil des Videos, über den ich keine Ahnung habe.

Ich habe den folgenden Code in meinem routes.php:

View::composer('layouts.partials.sidebar', 'App\Composers\SidebarComposer'); 

Am Ende des Videos es erklärt, dass dies aus der Routen-Datei entfernt werden kann. In der starts/global.php Datei fügt er den folgenden Code:

require app_path() . 'composers.php'; 

Ich habe nicht die starts/global.php Datei so, was der beste Weg, um dies zu realisieren ist?

+0

Der Laracast, den du beobachtet hast, war für Laravel 4, aber du benutzt Laravel 5. Die Struktur, wie die Dinge organisiert sind, hat sich in einigen Teilen in L5 komplett geändert. Stellen Sie sicher, dass Sie ein Laravel 5 verwenden. Nicht alles, was in L4 gut war, ist in L5 immer noch gut. –

Antwort

1

Sie müssen einen Dienstanbieter für Komponisten erstellen und legen Sie Ihre Ansicht Komponisten in App\Http\ViewComposers (Sie können es überall woanders). Vergessen Sie nicht, diesen Dienstanbieter im Array im config/app.php zu registrieren.

dieses Beispiel Siehe unten:

<?php 

namespace App\Providers; 

use Illuminate\Support\ServiceProvider; 

class ComposerServiceProvider extends ServiceProvider 
{ 
    /** 
    * Register bindings in the container. 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     // Using class based composers... 
     view()->composer(
      'profile', 'App\Http\ViewComposers\ProfileComposer' 
     ); 

     // Using Closure based composers... 
     view()->composer('dashboard', function ($view) { 
      // 
     }); 
    } 

    /** 
    * Register the service provider. 
    * 
    * @return void 
    */ 
    public function register() 
    { 
     // 
    } 
} 

Weitere Informationen finden Sie in der offiziellen Laravel 5 Dokumentation ->View Composers.

+0

Genau das, was ich brauchte. Danke. – zr1vette