传递数组后在 laravel 中获取共享变量

get shared variables in laravel after passing an array

在 laravel 中,您可以像这样将数据共享到视图:view::share()

我想在 php 中获取存在于 view::share 中的数据。 例如,我将添加以下 view::share('scripts', []) 并且我想向该 "scripts" 变量添加项目。

是否可以获取共享变量?

我会传递一个集合而不是一个数组。以后在您看来使用起来会更方便。

如果你这样做:

$scripts = collect([
    'script 1',
    'script 2',
    'script 3',
]);

View::share('scripts', $scripts);

您现在可以在视图中执行以下操作:

 @foreach ($scripts as $script)
     {{ $script }}
 @endforeach

不管怎样,你为什么要这样做?这些脚本是 javascript 文件吗?如果是,请使用母版页/模板视图并将所有脚本包含在一个页面上,而不是像上面的示例那样在每个页面上添加它们。

您可以使用 shared() 方法从共享数据中获取项目:

view()->shared('key')

Docs