Запуск моего проекта 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
среда?
в 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'];
....
}
}
Других решений пока нет …