Filetype, навіщо потрібно властивість data_class

  • Symfony

Доброго времени суток шановні!

Вивчаю Symfony3, перебрав з пів дюжини варіантів створення / обробки поля для завантаження відразу декількох файлів.

Серед іншого, при створенні / додаванні поля типу FileType у цього самого поля є атрибут data_class. Навіщо подібний атрибут у самої форми - я розумію, але навіщо цей атрибут у FileType мені не зовсім зрозуміло.

VendorFile - цей клас я створив сам, для тесту


В якому випадку data_class. для яких цілей його можна застосовувати? Якщо не складно, приведіть будь ласка простий приклад, як і коли це можна використовувати? По можливості так само хотілося б почути трохи теорії на цю тему.

Так само мені не зрозуміло, чому не викликається конструктор класу VendorFile. Я собі уявляв, що властивості цього класу повинні бути ініціалізірованни властивостями об'єкта UploadFile, але, мабуть це не так.

>> 'multiple' => 'multiple', <-- Это булево свойство и оно не будет работать в данном случае
не знаю як, але працює, можливо конвертується в True, але з Вашим зауваженням я повністю згоден, це логічне властивість

>> data_class потрібен для маппінга даних з $ _FILES на об'єкт.
підкажіть будь ласка, в яких випадках це може бути корисно / необхідно і чому не викликається конструктор цього класу? Чи можна в цьому класі задати будь-які обробники, наприклад, HasLifecycleCallback, створені спеціально для цього файлу?

Євген Вольф. Ознайомтеся будь ласка з прикладом з документацією symfony.com/doc/current/controller/upload_file.html припускаю, що все стане на свої місця.

Денис. прочитав уважно, двічі. На жаль, чи то я чогось рішуче не розумію, чи то, за посиланням вище не розкривається тема і відсутні приклади заміни стандартного об'єкта File в параметрі data_class на свій. Тобто я зрозумів як можна / потрібно завантажувати файли, але не зрозумів в яких випадках може знадобитися перевизначити data_class для файлу і чому не викликається його конструктор.

Ваш відповідь на питання

Увійдіть, щоб написати відповідь

  • Symfony
  • Symfony
  • Symfony
  • Symfony
  • Володимир
  • Повний робочий день
  • від 40 000 до 80 000 руб.
  • Москва
  • Повний робочий день
  • від 150 000 до 250 000 руб.

MEF (Будинок Французького Підприємництва)

15000 руб. / За проект

150000 руб. / В місяць

Увійдіть на сайт

Щоб задати питання та отримати на нього кваліфіковану відповідь.

Схожі статті