Выдается ошибка в режиме PROD, но НЕ в режиме DEV: & quot; Примечание: неопределенный индекс & quot; в $ form- & gt; getConfig () — & gt; getAttributes ()

Запуск моего проекта symfony3 в prod Окружающая среда на сервере Ubuntu Я получаю следующую ошибку:

«Примечание: неопределенный индекс: data_collector / прошло_опции»,

Эта ошибка не происходит, если я использую dev среда.

Ошибка выбрасывается в моем кастоме FormType:

// src/MyBundle/Form/CustomType/MyCustomType.php:
class MyCustomType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options){
$builder->addEventListener(FormEvents::POST_SET_DATA, function(FormEvent $event){....}
$form = $event->getForm();
$inheritedAttr = $form->getConfig()->getAttributes()['data_collector/passed_options']['attr']; //it crashes there
....
}

}

Я отредактировал мой app_dev.php файл на рабочем сервере Ubuntu (Как это объясняется здесь), чтобы я мог проверить в производстве с помощью этой команды:

php bin / console server: запустите [IP-адрес моего сервера]: [пользовательский порт]

Но ошибка все еще не была брошена в dev среда. Так что это не проблема с моей машиной для разработки.

Может ли быть так $form->getConfig()->getAttributes() не имеет индекса в prod среда?

Есть ли способ, как я могу отлаживать ошибки, подобные этим, которые происходят в prod среда, но не в dev среда?

0

Решение

в addEventListener $options который передается в качестве параметра в buildForm Функция должна быть передана, поскольку она содержит атрибуты:

class MyCustomType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options){
$builder->addEventListener(FormEvents::POST_SET_DATA, function(FormEvent $event) use ($options) {....}
$form = $event->getForm();
$inheritedAttr = $options['attr'];
....
}

}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]