Khung Zend là khó. Nó không được xây dựng như một khung cấp nhập cảnh, kiến thức về các khái niệm liên quan được giả định 1 . Điều đó nói rằng, yêu cầu đầu tiên đối với Zend Framework 2.0 là làm cho nó dễ dàng hơn một chút:
Dễ dàng học tập
Vào cuối năm 2009, chúng tôi đã thực hiện một cuộc khảo sát về người dùng khung để xác định những gì họ sử dụng, môi trường họ sử dụng và nhu cầu của họ là gì. Vấn đề hàng đầu, không có gì, là khó khăn trong việc học khung. Một số vấn đề này bao gồm:
- Khó khăn trong "giờ đầu tiên" với khuôn khổ.
- Không chắc chắn về "các bước tiếp theo" sau khi bắt đầu nhanh.
- API không nhất quán trong chính mã nguồn. Một thành phần có thể sử dụng "plugin", "trình trợ giúp" khác và "bộ lọc" khác.
- Không chắc chắn về nơi tồn tại các điểm mở rộng và cách lập trình cho chúng.
- Nhầm lẫn về việc họ có thể sử dụng Zend Framework chỉ như một ngăn xếp MVC hoặc như các thành phần riêng lẻ.
Vì vậy, không chỉ riêng bạn, mọi người đều khó khăn - đọc toàn bộ trang wiki, có khá nhiều điều được xác định là phức tạp không cần thiết. Nhưng ngay cả khi yêu cầu trên được đáp ứng, nó vẫn không trở thành khung mức nhập cảnh, nghĩa là nó không phải là khung bạn nên học, mà là một khung mà bạn nên sử dụng khi bạn thực sự hiểu các khái niệm liên quan.
Vì bạn vẫn đang học, nên việc xây dựng kiến trúc MVC của riêng bạn sẽ có giá trị hơn rất nhiều. Bài viết nổi tiếng của Rasmus Lerdorf 2 " Bài viết blog về khung công tác PHP MVC không khung " đưa ra một ví dụ rất đơn giản và rõ ràng về MVC thông qua PHP thủ tục, không có bất kỳ khung hoặc thư viện bên thứ ba nào khác tham gia.
Nhưng nếu bạn thực sự muốn học với một khung công tác, bạn nên xem xét một khung vi mô thay vì một khung đầy đủ. Slim có một cơ sở mã rất nhỏ, sạch sẽ và được kiểm tra kỹ lưỡng và nó nên là lý tưởng cho việc học tập. Tôi chưa chơi xung quanh với bất kỳ khuôn khổ vi mô nào khác, bạn nên tự nghiên cứu và quyết định xem cái nào tốt hơn cho bạn.
Và để có một giới thiệu nhanh chóng và bẩn thỉu về định tuyến, hãy xem câu trả lời của tôi cho câu hỏi này . Đây không phải là một khái niệm quá khó để nắm bắt, nhưng Zend Framework thực sự khiến nó trông giống rất nhiều so với thực tế .
1 Mô tả tốt nhất tôi đã đọc cho ZF là đó là khung xây dựng khung chứ không phải khung ứng dụng. Đó là sức mạnh thô và danh sách các tính năng cực kỳ không phù hợp với các trang web vừa và nhỏ. Thật không may, thực sự không thể tìm thấy nơi tôi đọc nó.
2 Đọc từ chối trách nhiệm ở đầu bài viết trên blog.
Cập nhật, lấy cảm hứng từ bình luận của @ Karpinie:
Một khung không được coi là khó, toàn bộ quan điểm của khung là làm cho mọi thứ dễ dàng hơn. Có thể là ngay cả khi nắm vững các khái niệm liên quan, ZF không phù hợp với bạn.
Có rất nhiều yếu tố chủ quan liên quan khi chọn khung và trừ khi mọi khung khác thiếu chức năng bạn thực sự cần - và không thể tự viết, bạn nên tránh ZF và sử dụng khung làm việc tự nhiên hơn với bạn.
Nếu bạn biết các khái niệm, khung không nên cản trở.