Przekazywanie danych do widoku w MVC w PHP
Za pomocą drugiego parametru metody render
można przekazywać dane z kontrolera do
widoku. Dane należy przekazywać
w postaci tablicy asocjacyjnej. Jednocześnie w
widoku klucze tej tablicy staną się
zmiennymi z odpowiednimi wartościami.
Spójrzmy na to w praktyce. Przekażmy do naszego widoku tablicę z trzema elementami:
<?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',
]);
}
}
?>
Jak widać, klucze naszej tablicy to 'var1',
'var2' i 'var3'. Oznacza to,
że w widoku będą dostępne takie
zmienne i możemy wyświetlić ich wartości
w odpowiednich miejscach kodu HTML. Zróbmy to:
<div>
to jest widok
akcji act kontrolera test
</div>
<ul>
<li><?php echo $var1; ?></li>
<li><?php echo $var2; ?></li>
<li><?php echo $var3; ?></li>
</ul>
Wykonaj opisane manipulacje, a następnie odwołaj się do naszej akcji przez pasek adresu. Upewnij się, że w przeglądarce pojawi się tekst z utworzonego przez Ciebie widoku.