2016-12-19 35 views
2

在laravel可以共享數據,以這樣的觀點後:view::share()得到laravel共享變量傳遞一個數組

我想獲取在PHP中存在的視圖中的數據::份額。 我會例如添加以下view::share('scripts', []),我想將項目添加到該「腳本」變量。

是否可以獲取共享變量?

+0

從視圖中? – scottevans93

回答

0

可以使用shared()方法從共享的數據得到一個項目:

view()->shared('key') 

Docs

+0

完美,非常感謝! – vincent

0

我會去傳遞一個集合而不是一個數組。稍後在您的視圖中使用會更容易。

,如果你這樣做:

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

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

你現在可以做你的看法如下:

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

無論如何,你爲什麼要這麼做?這些腳本,JavaScript文件?如果是,請使用母版頁/模板視圖,並將所有腳本包含在一個頁面中,而不是像上面的示例那樣在每個頁面上添加它們。

+0

他們確實是JavaScript文件。我需要這個,因爲我正在用一堆小部件製作儀表板。每個用戶組都有不同類型的儀表板。並且每個小部件都有其自己的功能。這樣我可以加載已經添加的小部件的腳本文件。 – vincent

+0

我會使用partials,創建用戶組名稱的slu and,然後像調用它們:'include('scripts。'。str_slug(auth() - > user() - > role)。'.scripts')'或類似的東西,其中腳本將基於用戶組/角色包含在主模板中。 – Ruffles