Heim  >  Fragen und Antworten  >  Hauptteil

Laravel kompakt()

Ich habe eine interessante Frage zu Compact in PHP und Compact in Laravel.

Nehmen Sie dieses kompakte Beispiel in PHP:

$banana = "yellow";
$apple = "red";
$result = compact('banana','apple');
var_dump($result);
//Output  
array(2) {
["banana"]=>
string(6) "yellow"
["apple"]=>
string(3) "red"
}

Aber wenn ich die kompakte Rückgabeansicht auf dem Controller in Laravel verwende, wird eine Variable anstelle eines Arrays zurückgegeben

public function fruisColor($banana="yellow",$apple="red"){
  return view('template.fruits',compact('banana','apple'));
}

Aber wenn ich diese Variable im Template Blade erhalte, handelt es sich nicht um ein Array, sondern um eine Variable, siehe:

P1 = {{ $banana }} e P1 = {{ $apple }}

Wenn PHP Variablen kompakt in Arrays konvertiert, warum gibt es dann im Template Blade nur var zurück? Das sollte nicht sein:

P1 = {{ $banana[0] }} e P1 = {{ $apple[0] }}

Sieht verwirrend aus, nicht wahr?

P粉697408921P粉697408921334 Tage vor451

Antworte allen(1)Ich werde antworten

  • P粉502608799

    P粉5026087992023-12-14 13:47:50

    由于 view 方法的两个参数接受一个数组,根据文档,该数组将其转换为可以在刀片模板中使用的变量,Laravel 可以处理从紧凑返回的数组。

    Antwort
    0
  • StornierenAntwort