Tôi có nên luôn kế thừa từ Mage_Core_Helper_Ab bát không?


7

Tôi nghe thấy những ý kiến ​​trái ngược nhau về thời tiết hay không chỉ nên thừa kế Mage_Core_Helper_Abstract, ngay cả khi không có công cụ trợ giúp nào được sử dụng.

Vì vậy, nếu tôi có một vài lớp trợ giúp mà tôi nhận được bằng Mage::helper()api magento , nhưng những người trợ giúp đó không sử dụng bất cứ thứ gì từ đó Mage_Core_Helper_Abstract, tôi có nên thừa hưởng từ nó không?

Xu hướng của tôi đi với có để thực hành tốt, nhưng có thể có sự lãng phí hiệu suất / tài nguyên liên quan mà tôi không biết.

Suy nghĩ?

EDIT: Tôi đã thấy các ví dụ trong mã Magento của người trợ giúp kế thừa từ bản tóm tắt của người trợ giúp mà không sử dụng các chức năng của nó ( http://freegento.com/doc/d3/d82/_helper_2_opes_8php-source.html ). Vì vậy, trừ khi ai đó cho tôi một lý do chính đáng tại sao tôi không nên làm điều đó, tôi nghĩ tôi sẽ đi với "luôn kế thừa từ người trợ giúp trừu tượng".

Câu trả lời:


14

Magento dựa vào người datatrợ giúp trong một mô-đun cho rất nhiều công cụ dịch thuật 'tự động' như nhãn trong system.xmlví dụ.

Chức năng dịch này chỉ khả dụng sau khi mở rộng Mage_Core_Helper_Abstract.

Vì vậy, tôi muốn nói rằng không bắt buộc nhưng đó là một cách thực hành tốt và ngăn chặn các vấn đề trong tương lai khi bạn dựa vào bản dịch trong mô-đun của mình


Tôi cũng nghĩ vậy nhưng tôi nghe một nhà phát triển magento có kinh nghiệm nói rằng không cần thừa kế từ nó (thật không may mà không giải thích lý do tại sao) và nó làm tôi tự hỏi. Bạn củng cố xu hướng tự nhiên của tôi vì vậy tôi sẽ đi theo cách của bạn. Nói rõ hơn - Tôi không nói về trình trợ giúp dữ liệu mặc định, tôi đang nói về các trình trợ giúp ngẫu nhiên tùy chỉnh mà tôi tạo cho các mô-đun của mình. Nếu điều đó bằng cách nào đó thay đổi câu trả lời của bạn, hãy cho tôi biết :)
Ronen Ness

Đối với những người trợ giúp khác bên cạnh người trợ giúp dữ liệu, tôi không thấy bất kỳ lý do nào để kế thừa từ người trợ giúp trừu tượng
Fabian Schmengler

Nhưng bạn có thấy một lý do không? đó là câu hỏi .. :)
Ronen Ness

Vâng, điều đó không cần thiết. Tại sao bạn muốn thêm mã mà bạn không sử dụng? Và một lý do thực tế: IDE tự động hoàn thành. Bạn chỉ muốn xem các phương pháp có liên quan ở đó.
Fabian Schmengler

hm Tôi nghĩ rằng tôi đồng ý với @fschmengler ở đây. Ngoại trừ dữ liệu bạn có thể không muốn mở rộng lớp trừu tượng. Trừ khi có một lý do rõ ràng để làm như vậy
Sander Mangel
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.