Maison  >  Questions et réponses  >  le corps du texte

Laravel compact()

J'ai une question intéressante sur le compact en PHP et le compact dans Laravel.

Prenons cet exemple compact en PHP :

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

Mais lorsque j'utilise la vue de retour compacte sur le contrôleur dans Laravel, elle renvoie une variable au lieu d'un tableau

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

Mais quand j'obtiens cette variable dans le template blade, ce n'est pas un tableau mais une variable, voir :

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

Si PHP convertit de manière compacte les variables en tableaux, pourquoi dans le panneau de modèle ne renvoie-t-il que var ? Cela ne devrait pas être :

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

Ça a l’air déroutant, n’est-ce pas ?

P粉697408921P粉697408921284 Il y a quelques jours418

répondre à tous(1)je répondrai

  • P粉502608799

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

    Étant donné que les deux paramètres de la méthode view acceptent un tableau qui, selon la documentation, les convertit en variables pouvant être utilisées dans les modèles de lame, Laravel peut gérer le tableau renvoyé par compact.

    répondre
    0
  • Annulerrépondre