我有一個(gè)有趣的問題,關(guān)于 PHP 中的緊湊和 Laravel 中的緊湊。
以 PHP 中的緊湊示例為例:
$banana = "yellow"; $apple = "red"; $result = compact('banana','apple'); var_dump($result); //Output array(2) { ["banana"]=> string(6) "yellow" ["apple"]=> string(3) "red" }
但是當(dāng)我在 Laravel 中的控制器上使用緊湊返回視圖時(shí),它返回變量而不是數(shù)組
public function fruisColor($banana="yellow",$apple="red"){ return view('template.fruits',compact('banana','apple')); }
但是當(dāng)我在模板刀片中獲取這個(gè)變量時(shí),它不是一個(gè)數(shù)組,而是一個(gè)變量,看:
P1 = {{ $banana }} e P1 = {{ $apple }}
如果 PHP 緊湊地將變量轉(zhuǎn)換為數(shù)組,為什么在模板刀片中它只返回 var? 這不應(yīng)該是:
P1 = {{ $banana[0] }} e P1 = {{ $apple[0] }}
看起來很混亂不是嗎?
由于 view 方法的兩個(gè)參數(shù)接受一個(gè)數(shù)組,根據(jù)文檔,該數(shù)組將其轉(zhuǎn)換為可以在刀片模板中使用的變量,Laravel 可以處理從緊湊返回的數(shù)組。