Что произойдет в базе данных?
Anonymous Poll
21%
Запись удалится полностью
78%
Поле deleted_at будет заполнено текущей датой
2%
Появится новая запись
1%
Будет выброшено исключение
В чем разница между User::with('posts')->get() и $user->posts без with?
Anonymous Poll
7%
Нет разницы
91%
Первый делает eager loading, второй lazy loading
1%
Первый создаёт новые посты
2%
Второй кэширует запрос
Какая версия PHP впервые представила типизацию аргументов и возвращаемых значений?
Anonymous Poll
6%
5.6
45%
7.0
36%
7.4
14%
8.0
Какое значение вернет функция array_unique() для массива с повторяющимися ОБЪЕКТАМИ?
Anonymous Poll
49%
Удалит все дублирующиеся объекты
13%
Сохранит только первый объект каждого уникального типа
24%
Вернет массив объектов без изменений
16%
Ошибка, так как объекты нельзя сравнивать
В таблице payments(idempotency_key UNIQUE). Повторный запрос с тем же ключом параллельно.
Anonymous Poll
3%
Оба INSERT успешны
87%
Первый успешен, второй упадёт по уникальному индексу
5%
Оба упадут по deadlock
5%
Оба закоммитятся, т.к. разные транзакции
📕Делаем тонкие контроллеры на Symfony. Валидация - PHP-разработчикам; Junior/Middle разработчикам, строящим API на Symfony; начинающим специалистам в асинхронной архитектуре
На открытом уроке 5 ноября в 20:00 мск мы разберёмся в принципах и методах разработки тонких контроллеров:
📗 На вебинаре:
1. Получите практические примеры построения эффективной архитектуры приложения.
2. Познакомитесь с базовыми механизмами валидации.
📘 В результате на практике изучите и освоите создание собственных constraint, а также сможете централизованно обрабатывать ошибки с помощью EventDispatcher/EventListener.
👉 Регистрация на урок и подробности о курсе Symfony Framework: https://clck.ru/3Q8Ppo
Все участники открытого урока получат скидку на курс "Symfony Framework"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На открытом уроке 5 ноября в 20:00 мск мы разберёмся в принципах и методах разработки тонких контроллеров:
📗 На вебинаре:
1. Получите практические примеры построения эффективной архитектуры приложения.
2. Познакомитесь с базовыми механизмами валидации.
📘 В результате на практике изучите и освоите создание собственных constraint, а также сможете централизованно обрабатывать ошибки с помощью EventDispatcher/EventListener.
👉 Регистрация на урок и подробности о курсе Symfony Framework: https://clck.ru/3Q8Ppo
Все участники открытого урока получат скидку на курс "Symfony Framework"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
У вас endpoint POST /payments с заголовком Idempotency-Key. Как гарантировать, что повторные запросы с тем же ключом не создадут дубль?
Anonymous Poll
12%
Хранить ключ в памяти PHP-процесса и проверять массивом
6%
Проверять наличие платежа по сумме и пользователю
25%
Делать SELECT + INSERT в одной транзакции без блокировок
59%
Делать атомарный SETNX (или INSERT ... ON CONFLICT DO NOTHING) и возвращать ранее созданный ресурс
Как PHP обрабатывает статическое свойство класса, если объект класса клонируется?
Anonymous Poll
21%
Создается новая копия статического свойства
50%
Статическое свойство не копируется, остается одно для всех объектов
11%
Выдается предупреждение о невозможности клонирования
18%
Клонируется только ссылка на статическое свойство