Php 块类中的Magento块实例化

Php 块类中的Magento块实例化,php,magento,layout,block,instantiation,Php,Magento,Layout,Block,Instantiation,我刚刚购买了Alan Storm的pdf书籍No Frills Magento layout,在第一章中,他讨论了如何将子块实例化绑定到指定的块创建,特别是在_beforeToHtml()方法中 在Alan Storm的书中,他使用这行代码来实例化一个子块 $block_2 = new Mage_Core_Block_Text (); 我已经习惯了这样做 Mage::getModel('modulename/class'); 两个问题: 是否有更好的方法从块类中实例化块 使用一个与另一个相

我刚刚购买了Alan Storm的pdf书籍No Frills Magento layout,在第一章中,他讨论了如何将子块实例化绑定到指定的块创建,特别是在_beforeToHtml()方法中

在Alan Storm的书中,他使用这行代码来实例化一个子块

$block_2 = new Mage_Core_Block_Text ();
我已经习惯了这样做

 Mage::getModel('modulename/class');
两个问题:

  • 是否有更好的方法从块类中实例化块
  • 使用一个与另一个相比有什么好处

  • 如果你坚持这本书,它最终会引导你找到你想要的答案。我从直接类实例化开始,以展示系统是如何工作的

    如果你等不及了,这里有一些快速的答案

  • $block_2=Mage::getSingleton('core/layout')->createBlock('core/text')

  • 当您使用别名(
    core/text
    )实例化该类时,您允许您的块受到某人为您的类创建类重写的影响


  • 我很抱歉,如果这看起来像是我越狱了。谢谢你的工作。