2014-11-09 45 views
0

我有一個很奇怪的問題。當使用我的開發環境(在Ubuntu Guest上共享Windows主機)時,以下代碼可以正常工作。但是,如果在Linux服務器上,或者即使將文件複製到Ubuntu Guest虛擬機,但是本機方向(未與主機共享),代碼也會失敗。我收到的錯誤是:ZF2表單集合Zend Form FormElementManager :: get無法取得或創建一個實例

Zend\Form\FormElementManager::get was unable to fetch or create an instance for RA\Restriction\Form\ValueFieldset 

所以問題是,它永遠無法找到文件。堆棧跟蹤去世,享年

/vendor/zendframework/zendframework/library/Zend/ServiceManager/AbstractPluginManager.php(103): Zend\ServiceManager\ServiceManager->get('RA...', true) 

這裏是我的表單文件是什麼樣子

namespace RA\Restriction\Form; 

use Zend\Form\Form; 
use Zend\Form\Element; 
use Zend\InputFilter\InputFilter; 

class RestrictionValueForm extends Form 
{ 
    public function __construct($name = null) 
    { 
    // we want to ignore the name passed 
    parent::__construct('attribute'); 
    $this->setAttribute('method', 'post') 
     ->setInputFilter(new InputFilter());; 
    $this->add(array(
     'name' => 'restriction_id', 
     'attributes' => array(
      'type' => 'hidden', 
      'id' => 'restriction_id', 
     ), 
    )); 
    $this->add(array(
     'type' => 'collection', 
     'name' => 'value_name', 
     'options' => array(
      'count' => 2, 
      'should_create_template' => true, 
      'template_placeholder' => '__placeholder__', 
      'label' => '', 
      'target_element' => array(
       'type' => 'RA\Restriction\Form\ValueFieldset', 
      ), 
     ), 
    )); 

    $this->add(array(
     'name' => 'submit', 
     'attributes' => array(
      'type' => 'submit', 
      'class' => 'btn btn-primary mar-right5', 
      'value' => 'Save', 
      'id' => 'submitbutton', 
     ), 
    )); 
    $this->add(array(
     'name' => 'cancel', 
     'attributes' => array(
      'type' => 'button', 
      'class' => 'btn', 
      'value' => 'Cancel', 
      'id' => 'cancel', 
     ), 
    )); 
    } 
} 

我一直對這個整天,一直沒能拿出一個解決方案我甚至建立了一些額外的環境,並確保配置相同。任何建議將非常感激。

+0

該文件位於何處? – 2014-11-09 11:22:43

+0

在路徑/module/RA/src/RA/Restriction/Form/ValueFieldset.php – 2014-11-09 14:04:45

+0

我終於能夠解決這個問題。看起來,在某些環境下,它不喜歡字段集在子目錄中。我能夠將我的字段集移動到/ RA/src/RA/Form/ValueFieldset,現在一切都很開心。 – 2014-11-09 17:47:49

回答

0

我終於能夠解決這個問題。看起來,在某些環境下,它不喜歡字段集在子目錄中。我能夠將我的字段集移動到/ RA/src/RA/Form/ValueFieldset,現在一切都很開心。

0

在我的情況下,問題是大小寫敏感。 Windows在目錄結構和大體上不區分大小寫,但linux區分大小寫。

相關問題