Юра
На моей первой работе тимлид писал код в notepad++ а вмесио гита был winrar
Юра
Вот это была жесть
Anonymous
Если вы там свои смыслы выдумали на мои фразы, это не моя проблема 🤷♀
Юра
А вообще судя по тому сколько мы тут пишем в рабочее время у нас хороший код
Юра
Работает, не падает
Юра
Все автоматизировано
Anonymous
Maxim Kainov
Anonymous
Вот, например
Это правда. Если ты не конкретизируешь поведение метода, это похоже на годметод, а это говно
Maxim Kainov
Юра
А я думал кто эти люди которые в зале в телефоне висят
Юра
А вот они )
Anonymous
Конкретизировал поведение
Anonymous
Maxim Kainov
Maxim Kainov
Anonymous
Anonymous
Я ж не объясняю, просто так шитпостингом занимаюсь :)
Юра
Не холивара ради, а ради холивара
Maxim Kainov
Никто этого и не утверждал
Если и без рдм можно сделать хорошую архитектуру, зачем она тогда нужна с этим всем оверхедом?
Anonymous
Ну вы же сами не против
Anonymous
Anonymous
Микросервисы например с рдм, вроде как, неплохо
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
Сергей
Это поведение сонаты)
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
Maxim Kainov
Может события формы надо юзать?
Maxim Kainov
Maxim Kainov
Anonymous
Сергей
а как? у него же параметры в конструкторе)
Maxim Kainov
Сергей
потому что там $category и $orderNum неизвестны
Maxim Kainov
Сергей
в данном случае из формы
Maxim Kainov
в данном случае из формы
Может это нужно https://symfony.com/doc/current/form/dynamic_form_modification.html
Андрей
Anonymous
да уж разрулил, чуваки помогли
но да, там точно должен быть наллабл