Zend framework Zend Framework 1.10重写类调用?

Zend framework Zend Framework 1.10重写类调用?,zend-framework,zend-framework-modules,Zend Framework,Zend Framework Modules,我想我是在试图变得过于聪明。如果有效的话,耶。如果没有,不用担心 我希望我的应用程序尽可能模块化。目前,我只有一个产品模块,但根据经验,我知道我可能还需要一个类别模块,其中的产品将是。虽然类别模块不存在,但我希望调用,例如,Products\u Forms\u NewProduct以加载该表单。当categories模块被放入应用程序时,我希望它能够被自动检测到,并将任何调用(例如Products\u Forms\u NewProduct)转发到categories\u Forms\u NewP

我想我是在试图变得过于聪明。如果有效的话,耶。如果没有,不用担心

我希望我的应用程序尽可能模块化。目前,我只有一个产品模块,但根据经验,我知道我可能还需要一个类别模块,其中的产品将是。虽然类别模块不存在,但我希望调用,例如,Products\u Forms\u NewProduct以加载表单。当categories模块被放入应用程序时,我希望它能够被自动检测到,并将任何调用(例如Products\u Forms\u NewProduct)转发到categories\u Forms\u NewProduct


我该怎么做呢?

您正在寻找依赖项注入。但是我建议使用一个类来适当地修改表单。就像一个表单插件。这不是扩展,而是组合。我会在这些台词上说:

// 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());
}

虽然这是可能的,但我认为你可能走错了路。为什么类别模块的出现需要全新的产品形式?当然,你只需要在表单中添加一些字段来选择类别?我希望一切都能顺其自然。我想要一个标准的产品表(名称、描述等)。如果我有类别,那么我希望扩展该表单以包括父类别字段。如果我有一个ecart设置,那么我可能想再次扩展它(价格等…)