Как исправить форму DeprecatedWarning (s) перед обновлением Symfony 2.8 до Symfony 3.x?

У меня есть небольшой вопрос о процессе обновления моего symfony2.8 до symfony3.x. У меня много устаревших предупреждений, которые я хочу исправить, прежде чем начинать обновление.

Но я не могу это исправить, потому что кажется, что некоторые (новые) функции недоступны в версии 2.8. могло ли это быть?

Например:

   Accessing type "text" by its string name is deprecated since Symfony 2.8 and will be removed in 3.0. Use the fully-qualified type class name "Symfony\Component\Form\Extension\Core\Type\TextType" instead. (3 times)  Show stack trace

это означает, что я должен настроить свою форму из:

->add('birthyear', 'text', array(
            'label' => 'Year of birth',
            'attr' => array('placeholder'=>'yyyy'),
            'required' => false,
    ))

к...

->add('birthyear', Symfony\Component\Form\Extension\Core\Type\TextType:class, array(
            'label' => 'Year of birth',
            'attr' => array('placeholder'=>'yyyy'),
            'required' => false,
    ))

но этот путь к папке, соответственно, не существует в моей текущей версии.

Симфони \ Компонент \ Форма \ Расширение \ Ядро \ Тип \ TextType

я должен исправить это после обновления? или какой обходной путь мне нужно сделать? Я сбит с толку, потому что в документации Symfony написано «вы должны исправить это раньше».

Спасибо за ответ!

Ваша текущая версия - 2.8? TextType существует уже давно. Вы не должны использовать :: class, когда имя класса указано полностью. Или есть другая проблема? Нет фундаментальной причины, по которой вы не можете удалить все сообщения об устаревании, оставаясь на 2.8.

Cerad 05.04.2018 16:32

Спасибо за ваш отзыв. Установил папку с новыми компонентами и теперь она работает!

helmi 06.04.2018 10:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
2
131
1

Ответы 1

use Symfony\Component\Form\Extension\Core\Type\TextType;

->add('birthyear', TextType::class, array(
            'label' => 'Year of birth',
            'attr' => array('placeholder'=>'yyyy'),
            'required' => false,
    ))

Привет Спасибо за ответ! Нет, это не работает. Я пробовал это до того, как написал свой вопрос. Получаю ответ: не удалось загрузить тип "General \ CommonBundle \ Form \ TextType": класс не существует.

helmi 06.04.2018 10:30

@helmi Вы пропустили инструкцию использования. Но из другого комментария я вижу, что у вас это работает.

Cerad 06.04.2018 15:24

Привет, спасибо, извините, это была ошибка копирования и вставки! Большое спасибо за потраченное время!

helmi 09.04.2018 15:23

Другие вопросы по теме