Thực hành về Controller và View trong MVC
Tạo controller Product, trong constructor của nó sẽ thiết lập mảng sau:
<?php
$this->products = [
1 => [
'name' => 'product1',
'price' => 100,
'quantity' => 5,
'category' => 'category1',
],
2 => [
'name' => 'product2',
'price' => 200,
'quantity' => 6,
'category' => 'category2',
],
3 => [
'name' => 'product3',
'price' => 300,
'quantity' => 7,
'category' => 'category2',
],
4 => [
'name' => 'product4',
'price' => 400,
'quantity' => 8,
'category' => 'category3',
],
5 => [
'name' => 'product5',
'price' => 500,
'quantity' => 9,
'category' => 'category3',
],
]
?>
Trong controller Product, tạo action show, action này sẽ hiển thị thông tin về một sản phẩm. Hãy để action này xử lý các địa chỉ có dạng: /product/:n/, trong đó tham số sẽ là số thứ tự sản phẩm trong mảng. Hãy làm sao để khi truy cập vào các địa chỉ như vậy, nó sẽ hiển thị thông qua var_dump dữ liệu của sản phẩm được yêu cầu qua chuỗi địa chỉ.
Thêm view cho action đã tạo. Sử dụng HTML sau cho việc này:
<h1>Sản phẩm "product1" từ danh mục "category1"</h1>
<p>
Giá: 100$, số lượng: 5
</p>
<p>
Thành tiền (giá * số lượng): 500$
</p>
Dữ liệu trong HTML này tương ứng với sản phẩm đầu tiên. Hãy làm sao để view hiển thị dữ liệu của sản phẩm được yêu cầu qua chuỗi địa chỉ.
Trong controller Product, tạo action all, action này sẽ hiển thị danh sách tất cả sản phẩm dưới dạng bảng HTML. Hãy để action này xử lý địa chỉ /products/all/.