In Bezug auf die Frage Passing default variables to view unter allen verfügbaren Ansichten Variablen übergibt, gibt es einen technischen oder funktionalen Unterschied zwischen der Verwendung von View::composer()
:Laravel: Unterschied zwischen Ansicht :: Aktie() und Ansicht :: Komponist()
View::composer('*', function($view) {
$thundercats = 'Woooooohh!!';
$view->with('thundercats', $thundercats);
})
in der filters.php Datei oder die Verwendung von View::share()
in der BaseController.php Datei:
public function __construct {
$thundercats = 'Woooooohh!!';
View::share('thundercats', $thundercats);
}
ich habe ly vor kurzem erfuhr, über View::share()
und es außerordentlich fesselnde finden, obwohl ich bereits die früheren in einem anderen Projekt verwendet hat begonnen.
Edit:
Meine erste Vermutung ist, dass erstere eine Datei (filters.php), während die letztere eine Klasse (BaseController.php) ist. In diesem Sinne denke ich, eine Klasse ist viel besser? Obwohl, ich bin nicht ganz sicher, warum zu diesem Zeitpunkt. :)
Ich verstehe. Zur Vereinfachung, wenn Sie nur eine 'globale' Variable ausgeben wollen, ist es besser 'View :: share()' zu verwenden. Für alles andere/mehr verwenden Sie 'View :: composer()'. – enchance
Der Einfachheit halber sicher, aber wenn Sie es immer und immer wieder definieren finden, abstrahieren Sie es wahrscheinlich zu einem 'View :: composer'. – tplaner
Überprüfen Sie auch diese Antwort http://StackOverflow.com/a/23857517/682754. Beides hat mir wirklich geholfen, den Unterschied zu verstehen. – Carlton