View trong MVC trong PHP
Bây giờ hãy thêm view cho các hành động của chúng ta.
Theo quy tắc của framework chúng ta, các view
được lưu trữ trong thư mục /project/views/.
Ngoài ra, trong framework của chúng ta có
một quy ước: tên file chứa view phải
trùng với tên của hành động và được đặt
trong thư mục có tên giống với tên của controller.
Ví dụ, nếu chúng ta có controller PageController,
thì tất cả view của nó nên được lưu trữ
trong thư mục /project/views/page/. Bản thân
file view phải có phần mở rộng
.php. Chẳng hạn, nếu trong controller
PageController có hành động act,
thì view của nó nên được đặt ở
/project/views/page/act.php.
Để gán view cho một hành động nào đó,
hành động đó phải gọi phương thức
render, truyền cho nó tham số là tên
view. Tên view phải bao gồm
tên controller viết thường, sau
đó qua / sẽ ghi tên
hành động.
Phương thức render không cần phải triển khai
trong controller - nó được kế thừa từ lớp
cha Core\Controller. Hơn nữa,
để hoạt động chính xác, kết quả hoạt động của phương thức
nên được trả về qua return.
Vậy, giả sử chúng ta có controller Page
với hành động act. Hãy liên kết
view cho hành động này:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Bây giờ hãy tạo file chứa mã HTML cho view của chúng ta:
<div>
đây là view
của hành động act controller page
</div>
Hãy thực hiện các thao tác được mô tả, sau đó truy cập hành động của chúng ta qua thanh địa chỉ. Đả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.