2012-04-03 17 views
7

Có vẻ như có hai kiểu cấu trúc thư mục trong lõi Magento khi nói đến tài nguyên. Có khá nhiều bằng cách sử dụng thư mục mysql4 và thư mục Tài nguyên sử dụng đơn giản khác.Magento - mô-đun quy ước mysql4 hoặc tài nguyên

I.e. tập lệnh cài đặt sẽ tồn tại ở đây: Mycompany_Mymodule_Model_Resource_Setup.

Có lý do nào cho điều này, kế thừa hay cách khác - hoặc đơn giản chỉ là một kiểu mã hóa giữa các nhà phát triển cốt lõi khác nhau?

Trả lời

16

Đầu tiên: Cấu trúc thư mục của Magento tồn tại chỉ vì việc triển khai trình tự động tải của nó. Nếu bạn cố gắng lấy được quá nhiều ý nghĩa từ nơi một tập tin được đặt trong Magento bạn sẽ phát điên, và các mô-đun khác nhau dường như tuân theo các quy ước khác nhau. Các autoloader sẽ tìm kiếm

Mage_Core_Model_Foo_Bar 

trong

Mage/Core/Model/Foo/Bar.php 

Vì vậy, tôi sẽ nói về quy ước đặt tên dưới đây, mà gián tiếp sẽ đề cập đến lý do tại sao một tập tin là trong một thư mục cụ thể.

Ban đầu tất cả tài nguyên cơ sở dữ liệu được đặt tên theo quy ước Mysql4. Tôi đã nói chuyện với một vài nhà phát triển ban đầu, và ý định là để biểu thị rằng tài nguyên dành cho cơ sở dữ liệu Mysql 4 "chuẩn" sau đó. Nếu một tài nguyên sử dụng một tính năng cụ thể của nói, Mysql 5, sau đó họ đã sử dụng một quy ước Mysql5.

Vì Magento Inc. đã trải qua giai đoạn khởi động bình thường và các nhà phát triển khác đã tiếp quản nơi các nhà phát triển ban đầu rời đi, suy nghĩ đã thay đổi về điều này. Bản phát hành Magento 1.6, đã đặt nền tảng cho sự hỗ trợ của Enterprise Edition cho nhiều RDBMS, thay đổi cách các tài nguyên này hoạt động và được đặt tên.

Backwards compatibility được duy trì, nhưng hầu hết các tài nguyên cũ Mysql4 đã được đổi tên để sử dụng chung Resourcenew method cho nhiều hỗ trợ RDBMS đã được giới thiệu.

+0

Ok tuyệt vời - cảm ơn Alan, tôi đã khá chắc chắn nó sẽ là một điều di sản. –

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