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 :

project/controllers/PageController.php<?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 :

/project/views/page/act.php<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>
Задание 1

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.