2011-04-27 50 views
0

我覺得我想要過於聰明。如果它有效,耶。如果不是,不用擔心。Zend Framework 1.10覆蓋類調用?

我希望我的應用程序儘可能模塊化。目前我只有一個產品模塊,但根據經驗我知道我可能也需要一個類別模塊,其中產品將是兒童產品。雖然類別模塊不存在,但我想調用,例如Products_Forms_NewProduct加載,即形式。當類別模塊被放入應用程序時,我希望它自動檢測到,並將任何調用例如Products_Forms_NewProduct轉發給Categories_Forms_NewProduct。

我該如何解決這個問題?

+0

雖然這將是可能的,我認爲你可能會在這裏走錯了路。爲什麼類別模塊需要全新的產品形式?當然,你只需要將一些字段添加到該表單中以選擇類別? – 2011-04-27 16:11:44

+0

我希望事情能夠隨心所欲。我想要一個標準的產品表格(名稱,描述等)。如果我有類別,那麼我會希望*擴展*表單以包含父類別字段。如果我有一個ecart安裝程序,那麼我可能會再次*擴展*價格,等等......) – 2011-04-27 18:37:01

回答

2

您正在尋找依賴注入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()); 
}