Коллекции форм ZF2 Zend \ Form \ FormElementManager :: get не удалось получить или создать экземпляр для

0

У меня очень странная проблема. При использовании моей среды разработки (хост Windows, общий для Ubuntu Guest), следующий код работает нормально. Однако, когда на сервере linux или даже если я копирую файлы в гостевой Ubuntu, но в собственном направлении (не используется совместно с хостом), код выходит из строя. Ошибка, которую я получаю:

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',
        ),
    ));
    }
}

Я работаю над этим весь день и не смог придумать решение. Я даже создал несколько дополнительных окружений и убедился, что конфиги идентичны. Любые предложения будут очень оценены.

Теги:
zend-form
zend-framework2
zend-form-element

2 ответа

0
Лучший ответ

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

0

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

  • 0
    Это тоже моя проблема.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню