Zend框架1.10覆盖类调用



我觉得我太聪明了。如果成功了,太棒了。如果没有,不用担心。

我希望我的应用程序尽可能模块化。目前我只是一个产品模块,但从经验我知道我可能想要一个类别模块,以及,其中的产品将是孩子。虽然类别模块不存在,我想调用,例如,Products_Forms_NewProduct加载表单。当categories模块被放入应用程序中时,我希望它能够被自动检测并将任何对Products_Forms_NewProduct的调用转发给categores_forms_newproduct。

我该怎么做?

你正在寻找依赖注入IMO。但我建议有一个类来适当地修改表单。就像一个表单插件。这不是扩展,而是组合。我想这样写:

// say in Form_NewProduct's init()
$this->addPlugin(new Form_Plugin_Category());
$this->addSubform(new Form_NewProduct_ProductSubform());
//in plugin or in form directly
if (class_exists('Form_NewProduct_CategorySubform')) {
    $this->_form->addSubform(new Form_NewProduct_CategorySubform());
}

最新更新