我有一個有趣的問題,關於 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" }
但是當我在 Laravel 中的控制器上使用緊湊返回視圖時,它會返回變數而不是數組
public function fruisColor($banana="yellow",$apple="red"){ return view('template.fruits',compact('banana','apple')); }
但是當我在模板刀片中獲取這個變量時,它不是一個數組,而是一個變量,看:
P1 = {{ $banana }} e P1 = {{ $apple }}
如果 PHP 緊湊地將變數轉換為數組,為什麼在模板刀片中它只會傳回 var? 這不應該是:
P1 = {{ $banana[0] }} e P1 = {{ $apple[0] }}
看起來很混亂不是嗎?
由於 view 方法的兩個參數接受一個數組,根據文檔,該數組將其轉換為可以在刀片模板中使用的變量,Laravel 可以處理從緊湊返回的數組。