Что нужно реализовать, чтобы создать кастомный валидатор в Symfony?
Anonymous Poll
7%
Класс, наследующий AbstractType
83%
Класс Constraint и ConstraintValidator
8%
Middleware
1%
EventSubscriber
Что произойдет в базе данных?
Anonymous Poll
20%
Запись удалится полностью
80%
Поле deleted_at будет заполнено текущей датой
2%
Появится новая запись
1%
Будет выброшено исключение
В чем разница между User::with('posts')->get() и $user->posts без with?
Anonymous Poll
6%
Нет разницы
92%
Первый делает eager loading, второй lazy loading
1%
Первый создаёт новые посты
2%
Второй кэширует запрос
Какая версия PHP впервые представила типизацию аргументов и возвращаемых значений?
Anonymous Poll
5%
5.6
45%
7.0
36%
7.4
15%
8.0
Какое значение вернет функция array_unique() для массива с повторяющимися ОБЪЕКТАМИ?
Anonymous Poll
44%
Удалит все дублирующиеся объекты
18%
Сохранит только первый объект каждого уникального типа
21%
Вернет массив объектов без изменений
18%
Ошибка, так как объекты нельзя сравнивать
В таблице payments(idempotency_key UNIQUE). Повторный запрос с тем же ключом параллельно.
Anonymous Poll
2%
Оба INSERT успешны
86%
Первый успешен, второй упадёт по уникальному индексу
8%
Оба упадут по deadlock
4%
Оба закоммитятся, т.к. разные транзакции
У вас endpoint POST /payments с заголовком Idempotency-Key. Как гарантировать, что повторные запросы с тем же ключом не создадут дубль?
Anonymous Poll
12%
Хранить ключ в памяти PHP-процесса и проверять массивом
5%
Проверять наличие платежа по сумме и пользователю
19%
Делать SELECT + INSERT в одной транзакции без блокировок
64%
Делать атомарный SETNX (или INSERT ... ON CONFLICT DO NOTHING) и возвращать ранее созданный ресурс
Как PHP обрабатывает статическое свойство класса, если объект класса клонируется?
Anonymous Poll
25%
Создается новая копия статического свойства
52%
Статическое свойство не копируется, остается одно для всех объектов
4%
Выдается предупреждение о невозможности клонирования
22%
Клонируется только ссылка на статическое свойство
При конфликте версий Doctrine
Anonymous Poll
13%
Тихо перезатирает данные
67%
Бросает OptimisticLockException
13%
Ожидает, пока освободится строка
13%
Делает автоматический merge