Điều đầu tiên để thiết lập là chính xác những gì bạn cần làm, để quyết định liệu một khung và / hoặc MVC (hoặc mẫu thiết kế khác) sẽ có ích hay không.
Các khung có sẵn để cung cấp một nền tảng nhất quán để phát triển trong khi thường cung cấp các giải pháp cho các yêu cầu lập trình phổ biến (như tương tác cơ sở dữ liệu, tạo biểu mẫu và xác thực, xác thực người dùng, v.v.)
Đối với PHP ít nhất là mẫu thiết kế MVC / HMVC có xu hướng chi phối các khung chính có sẵn (ví dụ: Zend , CakePHP , CodeIgniter , v.v.) nhưng có nhiều mẫu thiết kế khác nhau mà người ta có thể sử dụng.
MVC rất phổ biến vì nó cung cấp một cách thức được thiết lập và hiểu rõ để tách mô hình dữ liệu và xử lý logic khỏi lớp xem / trình bày (một thứ được coi là mong muốn để tạo ra các ứng dụng mạnh mẽ, có thể mở rộng).
Điều quan trọng cần lưu ý (và như đã được @Marjan Venema thể hiện trong một bình luận cho câu trả lời của @ ElYusubov) rằng MVC, MVP, MVVM và các mẫu MV x khác (ít nhất là chính) đều là 'mẫu thiết kế'.
Thông thường các mẫu thiết kế khác nhau đều phục vụ (thường là tinh tế) các mục đích khác nhau và trong một số trường hợp được phát triển với một ngôn ngữ cụ thể. Tuy nhiên, một "mẫu thiết kế" thực sự không phải là một quy tắc khó và nhanh để lập trình và thực sự là một sự hiểu biết triết học / ý tưởng về việc thực hiện chương trình và các yêu cầu thiết kế và (các) chức năng logic.
Nghiên cứu là cách tốt nhất để tìm hiểu về các nguyên tắc lập trình khác nhau và các thực tiễn tốt nhất, đây là một số liên kết Wikipedia để giúp bạn bắt đầu:
Trong thực tế, không có gì ngăn cản bạn thực hiện 'mẫu' của riêng bạn, IMO cách tốt nhất là học bằng cách thực hiện, đối với tôi ít nhất tôi đã không hiểu đầy đủ về mẫu MVC cho đến khi tôi bắt đầu thử viết một trang web bằng cách sử dụng nó.
Khi bạn hiểu một số khái niệm lập trình và thực tiễn tốt nhất, bạn có thể sử dụng chúng để xây dựng hệ thống của riêng mình để giải quyết các vấn đề cụ thể mà bạn gặp phải và để đáp ứng nhu cầu của bạn, liệu nó có phù hợp với "mẫu" đã thiết lập hay không.
Nếu bạn không có bộ vấn đề cụ thể nào cần giải quyết thì học một trong những khuôn khổ chung là cách tốt nhất của bạn.