2013-03-24 29 views
7

Vì vậy, tôi quyết định xem Joomla mới là gì! MVC mang lại. Bởi vì tôi là một học tập bằng cách làm loại anh chàng tôi bắt đầu xây dựng một Joomla bản địa! 3.x thành phần, tôi có nghĩa là không sử dụng các lớp học di sản trong một dự án thế giới thực, không chỉ là công cụ hello thế giới.Xây dựng một thành phần gốc Joomla 3.x

Là điểm tài liệu học tập tôi đã sử dụng số Lendr tutorial và tôi cũng đã kiểm tra một chút về Joomla mới! jissues code.

Một trong những điều tôi nhớ từ các lớp cũ là JModelList. Vì vậy, tôi về cơ bản đã nêu phương pháp sao chép - dán từ đó vào thành phần của tôi.

Bây giờ mọi thứ đều rất nhẹ nhàng và linh hoạt, nhưng về cơ bản để đạt được chức năng tương tự như với các lớp cũ, tôi thực sự phải viết và duy trì nhiều mã hơn. Một trong những chức năng mà tôi viết "yêu" là chức năng CRUD cơ bản.

Vì vậy, câu hỏi của tôi là: có bất kỳ ví dụ hay về cách sử dụng MVC mới từ Joomla không?

+0

bạn đã xem trình cài đặt mới trong phiên bản 3.1 chưa? nó nên được viết bằng kiến ​​trúc mvc mới. hơi offtopic: tại sao bạn không gắn thẻ tag này với [tag: joomla]? tôi nghĩ rằng nhiều câu hỏi joomla sẽ có khả năng hiển thị nhiều hơn nếu họ có thẻ đó. và bạn nghĩ gì nếu chúng ta tạo từ đồng nghĩa tag giữa [tag: joomla] và [tag: joomla2.5] [tag: joomla3.1] v.v. –

+0

Cảm ơn bạn đã nhắc tôi, tôi sẽ kiểm tra nó (hoàn toàn quên mất nó!). OFFTOPIC: Đã thêm Joomla! nhãn. Cảm ơn vì đã đưa nó lên, tôi đã có một suy nghĩ tương tự ngày hôm qua. Tôi sẽ tạo ra một synonim giữa Joomla1.6, 1.7, 2.5) và cho 3.1, 3.2, 3.5 series. Nhưng tôi đang mở để thảo luận về điều này, có thể trên meta? –

+0

Tôi đang viết câu hỏi ở đây –

Trả lời

4

Theo như tôi biết JIssues là ví dụ công khai duy nhất sử dụng MVC mới trong Joomla CMS.

Trong khi tôi thấy chủ nghĩa tối giản MVC mới rất thuận tiện cho các ứng dụng nền tảng/khung, tôi miễn cưỡng sử dụng nó cho thành phần mới vì những lý do bạn đã viết - thiếu một số nội dung cụ thể của CMS.

Tôi nghĩ chúng ta (cộng đồng) nên phát triển các lớp này (có sẵn sau đó nhập/thư viện/cms /) có tính đến những điều mới mẻ trong Joomla (MVC, Router, ApplicationWeb) cũng như trong PHP 5.

JModelTracker có thể là một điều tốt để xem xét

Edit:

có một ứng dụng được xây dựng trên nền tảng Joomla: Cobalt CRM.

Mặc dù đây không phải là thành phần CMS, một số mẫu thiết kế tương tự như cách MVC mới được sử dụng trong CMS: Có một mô hình cơ sở CobaltModelDefault mà các mô hình khác mở rộng (ví dụ: CobaltModelDocuments). Đối với tôi, bạn nên chuẩn bị một số lớp để sử dụng phổ biến trong CMS (có thể sẽ khá giống với những cái cũ), nhưng với kỹ thuật RAD trong tâm trí như Framework-on-Framework, không gian tên và vân vân.

+0

Cảm ơn bạn đã nhập. Tôi đã có một cái nhìn gần gũi tại JModelTracker, hầu hết các mã là giống hệt nhau với các lớp di sản (từ những gì tôi đã phân tích cho đến nay). –

+2

Một điều nữa đáng để kiểm tra có thể là sử dụng các bảng nội dung trong [Thành phần thẻ] (https://github.com/joomla/joomla-cms/blob/master/libraries/cms/tags/tags.php) –

5

Các lớp MVC mới thực sự không phù hợp cho việc sử dụng ngoài hộp với CMS. Chúng có thể sử dụng được, nếu bạn sẵn sàng duy trì mã phụ để làm điều đó.

Trình cài đặt 3.1 sử dụng MVC, nếu không, các ví dụ tốt nhất tôi biết khi sử dụng MVC mới hơn là ứng dụng theo dõi (là ứng dụng web quy mô lớn duy nhất tôi đã xem công khai) và nền tảng kéo Tester.

David Hurley đang chạy một chuỗi trong Joomla! Tạp chí (latest article) về cách sử dụng MVC mới, nhưng nó không phải là rất xa cùng.

Các vấn đề liên quan