Tôi có điều này được đánh dấu là PHP nhưng chỉ vì tôi sẽ sử dụng mã PHP để hiển thị sự cố của mình.Làm cách nào để xử lý các mẫu cho các trang web MVC?
Vì vậy, tôi có một số mã như thế này cho bộ điều khiển:
switch ($page)
{
case "home":
require "views/home.php";
break;
case "search":
require "views/search.php";
break;
}
Rõ ràng có nhiều trang nhưng điều này nên minh họa vấn đề của tôi. Có một tiêu đề, điều hướng và chân trang chung cho cả hai trang này (và cho tất cả các trang trên trang web cho vấn đề đó). Tôi có nên sử dụng nhiều câu lệnh yêu cầu không? Dự đoán đầu tiên của tôi là:
switch ($page)
{
case "home":
require "templates/header.php";
require "templates/navigation.php";
require "views/home.php";
require "templates/footer.php";
break;
case "search":
require "templates/header.php";
require "templates/navigation.php";
require "views/search.php";
require "templates/footer.php";
break;
}
Bằng cách nào đó ruột của tôi cho tôi biết điều này không chính xác.
Đó không trả lời câu hỏi của tôi, tôi không nghĩ rằng có cùng tiêu đề/chân trang/điều hướng trên cả hai tệp trong thông minh. Đặc biệt là nó blatantly bất chấp nguyên tắc DRY. –
Không nhất thiết. ASP.NET MVC cung cấp các trang chủ cho phép cả hai tách mối quan tâm (đó là những gì tôi đã nói về) và nguyên tắc DRY được duy trì. Không biết đủ về các khung công tác php để biết nếu có một khung với một tính năng tương tự. Đối với tôi duy trì SOC quan trọng hơn DRY – tvanfosson