Transmission de données à la vue dans MVC en PHP
Avec le deuxième paramètre de la méthode render,
il est possible de transmettre des données du contrôleur
à la vue. Les données doivent être transmises
sous la forme d'un tableau associatif. Dans ce cas,
dans la vue, les clés de ce tableau deviendront
des variables avec les valeurs correspondantes.
Voyons cela en pratique. Transmettons à notre vue un tableau avec trois éléments :
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act', [
'var1' => 'eee',
'var2' => 'bbb',
'var3' => 'kkk',
]);
}
}
?>
Comme vous le voyez, les clés de notre tableau sont 'var1',
'var2' et 'var3'. Cela signifie
que dans la vue, de telles variables seront accessibles
et nous pourrons afficher leurs valeurs
aux endroits souhaités du code HTML. Faisons cela :
<div>
ceci est la vue
de l'action act du contrôleur test
</div>
<ul>
<li><?php echo $var1; ?></li>
<li><?php echo $var2; ?></li>
<li><?php echo $var3; ?></li>
</ul>
Répétez les manipulations décrites, puis accédez à notre action via la barre d'adresse. Assurez-vous que le texte de la vue que vous avez créée apparaît dans le navigateur.