Фабрика форм Symfony2 выдает предупреждение в array_replace ().Как я могу устранить это предупреждение? - PullRequest
1 голос
/ 08 октября 2011

Я получаю следующую ошибку на Symfony2:

Предупреждение: array_replace () [function.array-replace]: Аргумент # 1 не является массивом в /home/rackelas/public_html/dev/Symfony/vendor/symfony/src/Symfony/Component/Form/FormFactory.php линия 236

после добавления следующего в Acme / Bundle / Form / Type / ContactType.php для проверки:

public function getDefaultOptions(array $options)
{
    $collectionConstraint = new Collection(array(
        'name' => new MinLength(5),
        'email' => new Email(array('message' => 'Invalid email address')),
    ));

    $options['validation_constraint'] = $collectionConstraint;
}

источник: http://symfony.com/doc/current/book/forms.html#using-a-form-without-a-class

Буду признателен за любую помощь в правильном направлении.

Ответы [ 2 ]

4 голосов
/ 29 октября 2011

Попробуйте добавить return $options; в метод getDefaultOptions.

2 голосов
/ 08 октября 2011

То, что вы получаете, не является ошибкой, это предупреждение.

В предупреждении указывается, что функция ищет массив, но вы передаете ему переменную, не являющуюся массивом.

Таким образом, FormFactory.php в строке 236 вызывает array_replace() с аргументом, который не является массивом. Вот где вы должны искать решение этой проблемы.

...