Truyền dữ liệu đến View trong MVC với PHP
Thông qua tham số thứ hai của phương thức render,
có thể truyền dữ liệu từ controller đến
view. Dữ liệu nên được truyền
dưới dạng một mảng liên kết. Khi đó trong
view, các khóa của mảng này sẽ trở thành
biến với các giá trị tương ứng.
Hãy cùng xem xét trong thực tế. Hãy truyền vào view của chúng ta một mảng với ba phần tử:
<?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',
]);
}
}
?>
Như bạn thấy, các khóa của mảng chúng ta là 'var1',
'var2' và 'var3'. Điều này có nghĩa là,
trong view sẽ có sẵn các
biến như vậy và chúng ta có thể hiển thị giá trị của chúng
ở những vị trí cần thiết trong mã HTML. Hãy thực hiện điều đó:
<div>
đây là view
của action act của controller test
</div>
<ul>
<li><?php echo $var1; ?></li>
<li><?php echo $var2; ?></li>
<li><?php echo $var3; ?></li>
</ul>
Hãy thực hiện các thao tác được mô tả, sau đó truy cập đến action của chúng ta thông qua thanh địa chỉ trình duyệt. Hãy đảm bảo rằng trong trình duyệt sẽ xuất hiện văn bản từ view bạn đã tạo.