Юра
На моей первой работе тимлид писал код в notepad++ а вмесио гита был winrar
Юра
Вот это была жесть
Anonymous
Ну ты тут пишешь, что все остальное гавно
Я пишу что говнокод говно, на конкретные моменты
Anonymous
Если вы там свои смыслы выдумали на мои фразы, это не моя проблема 🤷‍♀
Юра
А вообще судя по тому сколько мы тут пишем в рабочее время у нас хороший код
Юра
Работает, не падает
Юра
Все автоматизировано
Anonymous
Ну я вообще в спортзале, мне норм
Сепарейшн оф консернс так сказать
Anonymous
Вот, например
Это правда. Если ты не конкретизируешь поведение метода, это похоже на годметод, а это говно
Maxim Kainov
Ну я вообще в спортзале, мне норм
По совпадению я тоже туда собираюсь сейчас )
Anonymous
setName, что плохого в этом
Ну и только имя им обновляешь.
Юра
А я думал кто эти люди которые в зале в телефоне висят
Юра
А вот они )
Anonymous
Конкретизировал поведение
Сергей
А у меня отдых между подходами
говнокачкам наверное объясняешь что они по говнометодикам занимаются)
Anonymous
Я ж не объясняю, просто так шитпостингом занимаюсь :)
Юра
Не холивара ради, а ради холивара
Maxim Kainov
Никто этого и не утверждал
Если и без рдм можно сделать хорошую архитектуру, зачем она тогда нужна с этим всем оверхедом?
Anonymous
Ну вы же сами не против
Anonymous
Микросервисы например с рдм, вроде как, неплохо
Maxim Kainov
Так делай без оверхеда
Ну как без оверхеда, если это само по себе оверхед
Anonymous
🤔
Anonymous
Это бот или че?)
Kirill
Как зовут тебя лошадь безобразная?(с)
Юра
Чтоюы подтвердить что вы не бот ответьте на вопрос - анэмик или рич?
Юра
)
Anonymous
Парни, такой вопрос есть, не уверен что прям симфони но попробую задать. На 7.4 и симфе 5.1 проект, есть VO в котором хранится строковое значение nullable, этот VO используется в сущности. При попытке выполнить следующий код $kpp = empty($merchant->getKpp()) ? null : $merchant->getKpp()->getValue(); выдает ошибку Typed property App\\VO\\Organization\\Kpp::$value must not be accessed before initialization О чем ошибка я понимаю, а вот как ее обойти - не совсем. Есть идеи мб у кого?
Anonymous
Через коалесцентный оператор та же фигня
Anonymous
Так оно и есть null, вроде
Anonymous
В конструкторе дефолтное значение = null
Anonymous
dd выдает сам объект без value, ожидаемо
Anonymous
ммм а вот не прав я
Anonymous
object(App\VO\Organization\Kpp)#1119 (0) { ["value":"App\VO\Organization\Kpp":private]=> uninitialized(string) }
Сергей
ну судя по ошибке не инициализаровано все же
Сергей
во
Anonymous
действительно
Anonymous
а с какого хрена оно так?
Сергей
объект создан без конструктора...Через рефлексию наверное как-то
Anonymous
неа
Сергей
видать у симфы так связи формируются
Сергей
dd(new Kpp()) ?
Сергей
ну сделай private ?string $value = null;
Anonymous
ля внатуре вариант
Anonymous
ща попробую
Anonymous
ну да, действительно. спасибо
Anonymous
до этого прост работало без этого нормально
Anonymous
ох уж эта невнимательность!
Сергей
Уже вроде спрашивал че-то подобное. Есть энтити. В конструкторе есть параметр и в конструкторе присваивается id - обычный uuid. Соната, если количество параметров больше нуля, создает объект без конструктора. Соответственно id оказывается не инициализированным и получается ошибка. Вопрос - как быть? Можно в админском классе переопределит метод getNewInstance. И там напрямую создавать экземпляр нужного объекта. Но уж очень бы не хотелось все параметры конструктора делать nullable.
Юра
https://wiki.php.net/rfc/property_type_hints
Юра
Новые фишки, надо изучить
Anonymous
это рфц к 7.х был
Сергей
Это поведение сонаты)
Maxim Kainov
Это поведение сонаты)
Ну да, у меня изи админ. Не знаю, зачем тебе в конструкторе ентити параметры
Сергей
такое только решение нарыл public function getNewInstance() { return null; } public function getFormBuilder() { $this->formOptions['empty_data'] = static function (FormInterface $form) { return new Item( $form->get('category')->getData(), $form->get('orderNum')->getData(), ); }; return parent::getFormBuilder(); }
Maxim Kainov
Может события формы надо юзать?
Сергей
Ну да, у меня изи админ. Не знаю, зачем тебе в конструкторе ентити параметры
Можно для каждой сущности создать билдер, тогда сущность будет создаваться всегда со всеми проинициализированными полями. Но это, во-первых, немного запарно, во-вторых, сущность будет забита лишними сеттерами. Либо в конструктор энтити передать необходимые параметры.
Anonymous
Да сеттеры просто делаешь и все
универсальный подход
Сергей
а как? у него же параметры в конструкторе)
Maxim Kainov
универсальный подход
Хуже от них не будет )
Maxim Kainov
а как? у него же параметры в конструкторе)
Ну метод же должен возвращать созданную ентити?
Сергей
Ну метод же должен возвращать созданную ентити?
Должен. Ну это костыль такой. У сонаты где то в ишьюсах народ обсуждал этот вопрос. Только к такому варианту пришли
Сергей
потому что там $category и $orderNum неизвестны
Сергей
в данном случае из формы
Maxim Kainov
в данном случае из формы
Может это нужно https://symfony.com/doc/current/form/dynamic_form_modification.html
Андрей
Через коалесцентный оператор та же фигня
Тип данных точно наллабл или строгий?
Anonymous
да уж разрулил, чуваки помогли но да, там точно должен быть наллабл