Sự khác biệt giữa / Bộ điều khiển và / bộ điều khiển


43

Một câu hỏi tôi muốn hỏi từ lâu, nhiều lý thuyết hơn bất cứ điều gì khác.

Tôi hoàn toàn thành thạo trong việc phát triển Tiện ích mở rộng bằng cấu trúc tệp mô-đun Magento bình thường. Mặc dù tôi đã nhận thấy khi nhìn vào một số 'tiện ích mở rộng' của Pháp sư, một số có chứa thư mục / Trình điều khiển. Mục đích của các bộ điều khiển này là gì và làm thế nào khác với các bộ điều khiển được sử dụng bình thường trong thư mục / bộ điều khiển?

Tôi có thể thấy các tên được cấu trúc khác nhau, vì vậy tôi đang tập hợp chúng được tự động tải theo một cách khác, nhưng các lớp / Trình điều khiển phục vụ mục đích gì?

Cảm ơn tất cả

Câu trả lời:


45

Sự khác biệt là trong tự động tải, như bạn đã đề cập. Trong các tệp chung có trong / Trình điều khiển là các lớp Trừu tượng (hoặc cha) mà các lớp trong / trình điều khiển kế thừa .

Magento không được xây dựng để nhận biết thư mục / Trình điều khiển - đó là vấn đề quy ước. Tên lớp gợi ý nơi tìm các phụ huynh này trên đĩa và trình tải tự động định vị chúng. Bạn sẽ thấy điều này trong Mage_Sales:

class Mage_Sales_OrderController extends Mage_Sales_Controller_Abstract

Ở đây, việc bán hàng mô-đun Định vị điều khiển trong phạm vi app/code/core/Mage/Sales/controllersvà điều khiển được nạp nói với autoloader để xác định vị trí của nó cha mẹ ở app/code/core/Mage/Sales/Controller.

Điều này được thực hiện để cung cấp sự phân tách các mối quan tâm và cho phép các lớp điều khiển cụ thể kế thừa chức năng chung.


Điều đó hoàn toàn có ý nghĩa, và, bây giờ bạn đã giải thích nó, thực sự có vẻ khá rõ ràng! Cảm ơn Phil!
thebluefox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.