From 5ca3c0d24cff8712ddc2be0f2a99f6eff6c15d73 Mon Sep 17 00:00:00 2001 From: aleksandr Date: Tue, 2 Jun 2026 14:31:46 +0500 Subject: [PATCH] Update DTO --- DTO.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/DTO.md b/DTO.md index c6b1362..cb7d708 100644 --- a/DTO.md +++ b/DTO.md @@ -68,7 +68,7 @@ if (!$errors->count()) { ``` При таком сценарии firstName всегда должен быть устанолен, если мы хотим сделать его -обязательным при создании, но опциональным при обвлении, выход либо создать 2 `dto` `Createpayload` и `UpdatePayload` +обязательным при создании, но опциональным при обновлении, выход либо создать 2 `dto` `Createpayload` и `UpdatePayload` или обойтись группами при валидации ```php update($partner, $payload, ['firstName']) // мы устано ``` -Несколько замечения, обычно их поля делают публичными, и избегают геттеров и сеттеров +Несколько замечаний, обычно их поля делают публичными, и избегают геттеров и сеттеров это справедливо и тут но в пыхах более старших версий, где можно атрибутам класса назначить тип. В нашем случае геттеры и сеттеры могут быть полезны при десериализации из json, дефолтный сериализатор их использует @@ -209,8 +209,8 @@ $partnerService->update($partner, $payload, ['firstName']) // мы устано AbstractObjectNormalizer::DISABLE_TYPE_ENFORCEMENT => true, ]); - // в данном случае отработает сеттре, если его не будет то запишется - // строка. Nут уже если требуется проверка поможет пост валидация(запустить валидатор после десериализации) + // в данном случае отработает сеттер, если его не будет то запишется + // строка. Тут уже если требуется проверка поможет пост валидация(запустить валидатор после десериализации) // или делать поле приватным от сделать геттер, что бы строго ограничить типы и словить эксепшен class Payload { @@ -268,6 +268,6 @@ class CloseLeadPartnerServiceTest extends KernelTestCase > `WebTestCase` - тут доступен http клиент, делать запросы как из браузера, чекать роуты и выхлоп роутов (например чекнуть что все роуты наши выдают валидный json) -**p.s** почему не использовать обычный json, потому что никто кроме разраба, что писал этот код -не иммет представления что там должно быть в json, как именуются поля и приходится +**p.s** почему не использовать обычный json, потому что никто кроме разраба, кто писал этот код +не иммет представления, что там должно быть в json, как именуются поля и приходится лезть в код и разбираться в чужом. \ No newline at end of file