Юра
и всё
Юра
$builder->add('items', CollectionType::class, ['entry_type' => MyEntityType::class, 'allow_add' => true, 'allow_delete' => true, 'by_reference' => false]);
Юра
$form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) {
Юра
самбит получается обычный
Pavel
Спасибо, сейчас попробую ещё разок разобраться с CollectionType, раз уже делали так.
Юра
ну он для этого и предназначен
Pavel
ну он для этого и предназначен
Так вот я и удивился, что такого в симфе нет, но решил спросить на всякий случай
Юра
А сек
Юра
Еще момень
Юра
Вся таблица завернута в форму
Юра
<form id="table_form" class="form-inline my-3" method="post" action="{{ app.request.requestUri }}"> {{ form_widget(form._token) }}
Юра
И дальше таблица
Юра
Без токена не пройдет csrf
Юра
Это если ты кастомно рендеришь таблицу
Pavel
А получается {{ form_start(form) }} и {{ form_end(form) }} не используется в данном примере?
Юра
У меня нет
Юра
Я руками просто все поля отрисовываю
Юра
И форму руками
Юра
Ну у меня работает )
Юра
Может это не супер правильно, но главное работает
Pavel
А, ну так я как раз и не хотел так делать) Я хотел всё в классе описать и уже просто отрендерить, как в документации
Юра
Ну в теории так и должно работать
Юра
Но если тебе надо удалять строки то по-моему там всеравно надо руками писать
Юра
Или добавлять
Pavel
Да, надо будет добавлять и удалять.
Юра
Почему реакт настолько популярее vue? Читаю доку и поражаюсь насколько реакт сложнее, непонятнее и костыльнее чем vue
Юра
Такое ощущение что кода на нем надо писать раза в три больше
Konstantin
это от невысокой квалификации и желания разбираться
Konstantin
так-то и симфони ровно так же можно описать по сравнению с вордпрессом
Konstantin
классы какие-то писать дебильные, конфиги, какие-то контроллеры, почему я в шаблоне не могу сходить в базу, да что же это такое
Konstantin
какой идиот это написал, зачем, есть же вордпресс. он такой простой, понятный и классный!
Юра
По твоему vue это как вордпресс?
Юра
Мне кажется все наоборот
Konstantin
ну, если на пхп проецировать - то примерно как уии
Konstantin
Мне кажется все наоборот
ну мы вроде отталкиваемся от того, что кажется тебе не совсем правильно и я тебе рассказываю как на самом деле
Юра
Просто сравнить vuex и redux
Юра
Насколько vuex прост, настолько же redux сложный и непонятный
Konstantin
в уии очень много мелкой магии, он менее очевидный, там больше заточено всё под "быстро навалять спа". реакт сложнее, у него выше порог входа, но он позволяет писать куда более удобные для разработки приложения - компоненты можно тестировать, можно отделять логику рендера от остального, есть мощные и гибкие стейт-менеджеры, которые во vue выглядят очень сбоку присобаченными и неудобными. это реально чуть разного "веса" продукты
Юра
Ну первое впечатление такое
Konstantin
редакс не особо в почете нынче, его сильно не любят за большое кол-во бойлерплейта и не сильно удобное использование. я не совсем настоящий сварщик (руками уже не пишу ничего, тем более фронтенд), но мои тимлиды все на мобх и хуках
Konstantin
редакс это, по их словам, прошлый век
Юра
Все эти танцыьс имутабельным стейтом, простл пипец
Юра
Давайте сделаем имутабельный стейт, чтобы потом писать мутабельно, но либа будет сравнивать и делать див и патчить стейт, и потом везде будет еще руками описывать условия при которых рендерить компоненты
Юра
Что за..
Юра
Это ж сколько всего там происходит на простое изменения стейта
Konstantin
мутабельноевсё мы проходили (в ангуляре первом), когда все отовсюду могут что угодно поправить. это примерно как программировать на пхп без геттеров-сеттеров, а чтобы у всех класов были только публичные поля, которые могут все изменять-удалять-обновлять. только в пхп это даже менее страшно - он стейтлесс, умирает на каждый запрос. а во фронте приложение может неделями жить не сбрасывая стейт, поэтому клубок из публичных доступов всего ко всему - это адский рак, его невозможно нормально менеджить
Konstantin
в общем-то, даже в пхп сейчас все стараются писать иммутабельно - финальные классы, ридонли приватные свойства, запрет клонирования, мутация через клон, а не сеттеры итд итп
Konstantin
это реально дает определенные плюсы, особенно, повторюсь, в стейтфул-приложениях, которыми являются спа-шки
Юра
Да всем пофиг. Если тебе надо добавить число в коллекцию из 10000 чисел, давайте клонировать всю коллекцию
Юра
Какой-то заговор облачных провайдеров
Юра
Где оплата за цпу такты и память
Юра
Никогда не понимали не пойму этого желания все имутабельно делать. Если есть баг, значит расчехляй.дебагер и исправляй. Зато код более оптимальный в плане памяти и цпу
Юра
Тем более для меня это дико в изначально не многоплточных языках
Юра
Типо пхп и джс
Юра
Я еще пойму мотивацию с имутабельным стейтом в параллельных языках
Юра
Дабы избежать сложно обнаруживаемых рейс кондишенов
Юра
Но видимо мода пошла. Мода страшная вещь
Юра
Просто каждый раз когда я вижу state = {...state, .. } не знаю, волосы дыбом встают
Юра
А если state это объект в котором тысяча пропертей?
Юра
Или сотни тысяч
Юра
На каждый counter++ создание нового обьекта и бешеное давление на gc
Konstantin
если у тебя сотни тысяч свойств в стейте - уже пошло что-то не так, начать надо с этого. но, повторюсь, это гораздо хуже публичного rw-доступа "всего ко всему" в конкурентной среде, когда любой кусок кода может поменять любое значение в сторе, даже если с ним сейчас работает какой-то другой кусок кода. примеров рейсов и дедлоков в имеющемся софте масса, иммутабельность и инкапсуляция в мутаторы - это один из способов немного защитить свои данные в этой самой конкурентной среде
Konstantin
да, оно бьет по перформансу, да оно слегка сложнее в плане кода, но оно даёт определенный буст к надежности приложения, что тебе выбрать - тебе виднее. но по мне это здравый трейдофф. я лично подустал от приложений "быстро нажал кнопку а, потом кнопку б и у меня всё крашнулось"
Юра
что начит конкурентная среда
Юра
джс не конкуретная среда
Юра
в один момент времени у тебя выполняется один код
Юра
редукс с их имутабельным стейтов был актуален для оптимизации трекинга изменений, до того как появился Proxy
Юра
после Proxy нет никакой надобности в этой имутабельности
Юра
тот же Mobx прекрасно без неё обходится
Юра
как и vue
Юра
никогда не было у vue аких-то проблем с мутабельнстью
Юра
разве что нельзя сделать time machine если работаешь со стейтом напрямую, но вот вопрос а нах он нужен
Юра
Короче react поулярен скорее свего из-за пиара, и react native
Юра
сам по себе vue позволяет писать сложные приложения любой сложности, держа код в чистоте, причем кода будет заметно меньше
Юра
остальное все от лукавого
Алексей Анатольевич
хаюшки, что за ошибка появилась? Что то связано с версиями, не могу понять..
Алексей Анатольевич
вот и я ничего не понял
Konstantin
а что конкретно не понятно? помочь перевести?
Алексей Анатольевич
Ну да, как бы понятно, что убрали переменную, опцию переместили в категорию deprecated. Вопрос, где она у меня тогда осталась. И откуда, если я этот бандл вообще не трогал..