2014-11-09 4 views
0

У меня возникла очень странная проблема. При использовании моей среды разработки (хост Windows, общий для Ubuntu Guest), следующий код работает нормально. Однако, когда на сервере linux или даже если я копирую файлы в гостевой Ubuntu, но в собственном направлении (не используется совместно с хостом), код выходит из строя. Ошибка, которую я получаю:ZF2 Form Collections 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

Местоположение файла? –

+0

В пути /module/RA/src/RA/Restriction/Form/ValueFieldset.php –

+0

Я, наконец, смог решить проблему. Похоже, что в некоторых средах ему не понравилось, что набор полей находится в подкаталоге. Мне удалось переместить мой набор полей в/RA/src/RA/Form/ValueFieldset, и теперь все в порядке. –

ответ

0

Я, наконец, смог решить проблему. Похоже, что в некоторых средах ему не понравилось, что набор полей находится в подкаталоге. Мне удалось переместить мой набор полей в/RA/src/RA/Form/ValueFieldset, и теперь все в порядке.

0

Проблема, в моем случае, был чувствительность к регистру. Windows не чувствительна к регистру в структурах каталогов и вообще, но Linux чувствителен к регистру.