Tôi hơi bối rối một chút. Tôi đã đọc bài viết tuyệt vời của Alan Storm về số Magento Block Lifecycle Methods và theo tôi hiểu thì nên sử dụng phương thức protected _construct()
để khởi tạo khối. Trong trường hợp của tôi, tôi chỉ muốn thiết lập đúng mẫu khối. Vì vậy, tôi cho rằng tôi nên sử dụngCấu trúc khối Magento - sử dụng _construct hoặc __construct?
protected function _construct()
{
parent::_construct();
$this->setTemplate('stenik/qaforum/forum.phtml');
}
Tuy nhiên, khi tôi nhìn vào các khối của một số các module Magento lõi, họ dường như sử dụng phương pháp php __construct để làm điều đó. Ví dụ: Mage_Poll_Block_Poll
, Mage_ProductAlert_Block_Price
, Mage_Rating_Block_Entity_Detailed
, Mage_Review_Block_Form
Mặc dù cả hai cách đều thực sự hiệu quả, tôi muốn biết cách làm đúng.
+1 cho những lời khuyên đúng, nhưng isn này' t 100% học thuật - khi bạn ghi đè phương thức '__construct', bạn giới thiệu khả năng không gọi cha mẹ' __construct', hoặc gọi hàm cha '__construct' và loại bỏ các đối số hàm tạo. Điều này có thể tạo ra mâu thuẫn trong cách khối hoạt động khi được sử dụng trong bản cập nhật xml bố cục. –
Worth chỉ ra, như tôi câu trả lời của tôi giả định rằng các nhà phát triển luôn luôn làm đúng Thing ®. – benmarks