W odniesieniu do kwestii Passing default variables to view, aby przekazać zmienne wśród wszystkich dostępnych widoków, czy istnieje różnica techniczne lub funkcjonalne pomiędzy stosowaniem View::composer()
:laravel: Różnica między widokiem :: akcji() i zobacz :: kompozytor()
View::composer('*', function($view) {
$thundercats = 'Woooooohh!!';
$view->with('thundercats', $thundercats);
})
w pliku filters.php lub wykorzystanie View::share()
w BaseController.php pliku:
public function __construct {
$thundercats = 'Woooooohh!!';
View::share('thundercats', $thundercats);
}
mam na Ostatnio dowiedziałem się o View::share()
i odkryłem, że jest wyjątkowo intrygujące, chociaż już zacząłem używać tego pierwszego w innym projekcie.
Edit:
Moje pierwsze założenie, że ta pierwsza jest plik (filters.php), podczas gdy ten ostatni jest klasą (BaseController.php). Mając to na uwadze, zgaduję, że klasa jest znacznie lepsza? Chociaż nie jestem do końca pewien, dlaczego w tym momencie. :)
Rozumiem. Tak więc dla uproszczenia, jeśli wszystko, co chcesz, to wyprowadzenie zmiennej "globalnej", to lepiej użyć 'View :: share()'. Dla czegokolwiek innego/więcej, użyj 'View :: composer()'. – enchance
Ze względu na prostotę, ale jeśli definiuję to w kółko, prawdopodobnie zanios to do 'View :: composer'. – tplaner
Sprawdź również tę odpowiedź http://stackoverflow.com/a/23857517/682754. Obaj naprawdę pomogli mi zrozumieć różnicę. – Carlton