Tôi tiếp tục thấy CakePHP và CodeIgniter được gọi là khung công tác MVC ngăn xếp đầy đủ, trong khi khung công tác Zend được cho là không đầy đủ. Chính xác điều này có nghĩa là gì?Chồng đầy đủ so với các khung công tác PHP MVC ngăn xếp không đầy đủ - sự khác biệt là gì?
Trả lời
Zend Framework là một khung công tác sử dụng tại chỗ, cho phép bạn sử dụng một số thành phần của nó. Bạn thậm chí có thể sử dụng một số thành phần trong một ứng dụng được xây dựng bằng cách sử dụng một số khung khác nhau. Theo cách này, khung sử dụng sẽ giống như một thư viện lớp học. *
Khuôn khổ đầy đủ có nghĩa là sử dụng bất kỳ phần nào của nó phụ thuộc vào bạn sử dụng tất cả. Ví dụ, bạn phải sử dụng thư viện truy cập dữ liệu của khung công tác, kiến trúc MVC, giàn giáo tạo mã, vv và tất cả các thành phần này dựa vào nhau để cùng nhau tạo thành khuôn khổ hoàn chỉnh.
Hãy bình luận của bạn: Có, khớp nối là một cách để xem xét nó. Tôi xem nó như là một sự cân bằng giữa các giả định và tính linh hoạt. Một khuôn khổ full-stack giả sử bạn đang sử dụng toàn bộ khung công tác với nhau, và từ giả định đó nó có thể làm cho một số phép thuật thêm xảy ra.
ZF được thiết kế để giảm thiểu các giả định (có nghĩa là, giảm thiểu khớp nối). Các thành phần của nó đưa ra một vài giả định về việc liệu bạn có đang sử dụng phần còn lại của các thành phần, giảm sự phụ thuộc nhưng tăng tính linh hoạt hay không. Nhưng ít giả định có nghĩa là ít phép thuật hơn.
Cả hai kiểu khung đều có lợi thế hợp pháp.
* Một khác biệt chính giữa thư viện lớp đơn giản và khung là khuôn khổ được dự định mở rộng. Bạn được khuyến khích tăng cường chức năng của một khung công tác thông qua các cơ chế OO như phân lớp hoặc đa hình. Trong khi thư viện lớp có thể giả sử bạn sẽ sử dụng API của nó như là, không mở rộng chức năng của nó.
- 1. Tạo ngăn xếp đầy đủ Haskell với các xét nghiệm
- 2. Khuôn khổ ngăn xếp đầy đủ cho Java
- 3. Băng chuyền đầy đủ chiều rộng đầy đủ với carouFredSel.js
- 4. PHP preg_match chuỗi đầy đủ
- 5. Nhiều hình nền có độ rộng đầy đủ xếp chồng lên nhau với Bootstrap 3.0
- 6. Cập nhật tự động - bảo mật 'đầy đủ' là gì?
- 7. Tìm kiếm máy chủ SQL Tên đầy đủ Chỉ mục văn bản đầy đủ so với LIKE + SOUNDEX
- 8. Indexeddb: Sự khác biệt giữa việc sử dụng và không đầy đủ?
- 9. Chuyển đổi biên dịch giữa khung công tác nhỏ gọn và đầy đủ .net?
- 10. Sử dụng URL đầy đủ với Restangular
- 11. Chưa đầy đủ các danh sách khác nhau
- 12. typedef và kiểu không đầy đủ
- 13. Lỗi FileDialog khi đáy 4GB đầy đủ
- 14. FXML tham chiếu đầy đủ?
- 15. Buộc tuần đầy đủ với apply.weekly()
- 16. Hàng đợi JMS đầy đủ
- 17. AdMob không điền đầy đủ chiều rộng
- 18. Mục đích của mỏ-đầy đủ và họ đầy lệnh
- 19. Orchard: Nguồn đầy đủ hay không?
- 20. UnexpectedRollbackException - phân tích kịch bản đầy đủ
- 21. Eclipse có hai trình lập chỉ mục C/C++ (nhanh & đầy đủ): sự khác biệt là gì?
- 22. phân vùng đầy đủ, hay không?
- 23. MVC 4 Ajax.BeginForm nộp - nguyên nhân đầy đủ postback
- 24. Sự khác biệt giữa Tham gia bên trong & Tham gia đầy đủ
- 25. Microsoft .NET 3.5 Tải xuống đầy đủ
- 26. SQL transpose đầy đủ bảng
- 27. Giống như Python làm đầy các đối tượng Javascript đầy đủ
- 28. Cách nén thư mục không có đường dẫn đầy đủ
- 29. Nhận URL đầy đủ của hành động trong ASP.NET MVC
- 30. Hình ảnh đầy đủ, các góc tròn
Ồ, tôi hiểu. Vì vậy, nó có vẻ giống như chồng đầy đủ là tương tự như chặt chẽ cùng. Nghe có vẻ khủng khiếp;) Cảm ơn! –
Khi bạn nói ma thuật, bạn có nghĩa là bạn phải viết mã ít hơn, bởi vì khung làm cho các giả định và xử lý nhiều hơn cho bạn một cách tự động? –
Ví dụ, một bộ điều khiển MVC có thể tìm kiếm các kịch bản lệnh Xem và các lớp Mô hình trong một thư mục nhất định và sử dụng một quy ước đặt tên tệp nhất định. Nếu các tệp tồn tại và có tên lớp phù hợp, chúng sẽ tự động được tải và sử dụng. Không yêu cầu mã - miễn là bạn tuân theo quy ước của khung công tác. Nhiều quy ước là có thể ngoài các quy ước đặt tên tệp, ví dụ các bảng và cột cơ sở dữ liệu phải được đặt tên theo một cách nhất định. Những ý tưởng này có liên quan đến "quy ước về cấu hình" hoặc "lập trình được đề xuất". –