2013-10-05 23 views
-3

第一:這是一個架構問題。請不要回答如何解決技術問題,這已經在幾個地方做,f.e:https://github.com/zendframework/zf2/issues/2761ZF2 - 爲什麼表單元素總是標記爲真

我似乎並沒有得到它。 ZF2中的表單元素不僅被標記爲必需的,而且還被硬編碼。

例\ Zend的\表格\元素\選擇

public function getInputSpecification() 
{ 
    $spec = array(
     'name' => $this->getName(), 
     'required' => true, 
    ); 

    if ($validator = $this->getValidator()) { 
     $spec['validators'] = array(
      $validator, 
     ); 
    } 

    return $spec; 
} 

我只是不明白使得這種不可選。我想直接使用ZF2 Elements,現在我必須擴展我需要使用的所有元素。

因爲在我們大多數的形式,我們有一些可選的元素,這意味着我們總是需要使用我們自己的派生類。

但是,這似乎只是錯誤的,所以我希望有人能夠幫助我解釋。

回答

1

所以你告訴我們不要以技術方式回答。最終這意味着你想爭論ZF2給出的默認值。可以說,這使得它完全基於觀點,因此應該關閉。

現在,當用戶#somenumber告訴你,有什麼勉強在Zend\Form硬編碼。這都是默認設置,坦率地說 - 是的,這是基於意見的 - ZF2的默認設置非常棒。

你並不需要覆蓋的元素,你就必須覆蓋所要求的標誌。當然,如果你想要一個全局默認值false,那麼你必須覆蓋,但這就是ZF2的優點。你可以按照你想要的方式做一切事情。

元素的默認被要求在默認情況下是一件好事。我非常確定在互聯網上找到的所有表格元素中有超過50%是必需的。因此,默認設置是一個很好的決定。

+0

感謝您的回答,當然您是對的,這完全是基於意見的。 我也必須道歉,因爲當我寫這篇文章的時候我真的很沮喪,因爲ZF1需要大約5分鐘的設置不在那裏。當缺少某些東西時,我會尋找答案,爲什麼會被拋棄。 ZF2真的很棒,所以我想了解爲什麼要求的原因不再是一面旗子了,我想很長的路要問這個問題,因爲這不是一個錯誤。有一個制定的理由來決定,我想學習它。 – Dready

+0

@Dready分離來自「關注分離」原則。 「Form \ Element」中的'required'屬性表示所需的HTML屬性。當涉及驗證時,您實際上需要將其設置在驗證器中。是的,ZF2需要大量的「新」思維方式,但一旦理解,它實際上更加清晰直觀。 – Sam

相關問題