Size: a a a

2020 October 01

МФ

Максим Федоров... in symfony
Я не понимаю
И я
И я
И я
источник

АС

Антон Середний... in symfony
Максим Федоров
Я не понимаю
И я
И я
И я
источник

JB

Jurij Bachkov in symfony
Антон Середний
а есть канал симфони для нубов?
Тут работают со строкой, куда ещё нубее 😂
источник

V

Vladimir in symfony
Антон Середний
а есть канал симфони для нубов?
Да, называется канал yii
источник

SZ

Sergey Zolotov in symfony
Vladimir
Да, называется канал yii
источник

ВП

Владимир Плахотников... in symfony
Andrew Kovalyov
Ковырять core dump
Core dump не получилось найти, почему-то нигде ни дампится. Однако проблема была в прелоаде опкеша.
источник

DT

Dmitriy Tkachenko in symfony
помоему segfault вполне себе причина не использовать preload
источник

OK

Oleg Krasavin in symfony
Павел Г.
Приветствую еще раз, хэлп :)  С помощью нормалайзера можно прогидровать массив в объект.  Можно ли как то указать к какому типу он должен приводить данные, например через анотации типа как нибудь? Проблема: цифры из реквеста приходят строкой, а в DTO они int.  
$normalizer = new ObjectNormalizer(null, new CamelCaseToSnakeCaseNameConverter());
$dto = $normalizer->denormalize($request->request->all(), $dtoClassName);
Ты гидрируешь произвольные данные извне на свой объект.  На данном этапе тебе прилететь может абсолютно что угодно, поэтому нет смысла форсить тайпы на уровне языка здесь.

Оставляй везде mixed, в аннотациях указывай правильный тип и после гидрации проходись валидатором.
источник

ПГ

Павел Г. in symfony
Oleg Krasavin
Ты гидрируешь произвольные данные извне на свой объект.  На данном этапе тебе прилететь может абсолютно что угодно, поэтому нет смысла форсить тайпы на уровне языка здесь.

Оставляй везде mixed, в аннотациях указывай правильный тип и после гидрации проходись валидатором.
Крашится в рантайме. Валидатор данные проверяет они ок.  
method(int: $dto->id) где $dto->id = '1'. Приводит к крашу.
я могу делать method( (int)$dto->id) - но выглядит кривовато.
источник

OK

Oleg Krasavin in symfony
Павел Г.
Крашится в рантайме. Валидатор данные проверяет они ок.  
method(int: $dto->id) где $dto->id = '1'. Приводит к крашу.
я могу делать method( (int)$dto->id) - но выглядит кривовато.
А какими констрейнтами проверяешь? Что в аннотациях вообще?
источник

ПГ

Павел Г. in symfony
Oleg Krasavin
А какими констрейнтами проверяешь? Что в аннотациях вообще?
type(type=numeric)
источник

OK

Oleg Krasavin in symfony
Павел Г.
type(type=numeric)
Кек, ну так конечно будет ок
источник

ПГ

Павел Г. in symfony
Oleg Krasavin
Кек, ну так конечно будет ок
Ну если будет другой констрейнт, то у меня крашнется валидатор, ок. Но где мне тогда приводить к инту?
источник

OK

Oleg Krasavin in symfony
На клиенте
источник

ПГ

Павел Г. in symfony
Oleg Krasavin
На клиенте
с request (POST) данные всегда строкой приходят
источник

OK

Oleg Krasavin in symfony
Ну тут 3 варианта на самом деле.
1) Проверять тип на этапе валидации реквеста.
2) Не форсить тайпы, там где это не нужно.
3) Кастить самому, где это необходимо.
источник

OK

Oleg Krasavin in symfony
Тип, какой профит в том, чтобы кастить айди к инту?
источник

OK

Oleg Krasavin in symfony
Ну и плюс как у тебя данные приходят? Формой?
источник

OK

Oleg Krasavin in symfony
Или жсон?
источник

ПГ

Павел Г. in symfony
Oleg Krasavin
Ну тут 3 варианта на самом деле.
1) Проверять тип на этапе валидации реквеста.
2) Не форсить тайпы, там где это не нужно.
3) Кастить самому, где это необходимо.
1) Принял, надо менять констрейнт, согласен.
2) Ну стремление к типизации всего )
3) Это самый простой вариант, но хотелось бы автоматом.
источник