Size: a a a

Laravel для начинающих

2021 November 20

K

Krike in Laravel для начинающих
понял спасибо
источник

AB

Azamat Buzanov in Laravel для начинающих
Кто как использует DTO? С приватными свойствами, конструктором и геттерами или пакет Spatie?
источник

R#

Reset # Alexey S. in Laravel для начинающих
Зачем пакет?
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
🌚
источник

D

DK in Laravel для начинающих
YouTube
DTO (Data Transfer Object)  ► Шаблон проектирования  Урок №21
DTO  (Data Transfer Object) - Объект передачи данных
DTO - это объект который переносит данные между системами (веб-сервисы, подсистемы или процессы одного приложения)

Оглавление:
00:00 Начало
01:07 Определение, история возникновения шаблона
05:55 Варианты реализации DTO в PHP
18:05 Варианты использования DTO (Laravel или любой другой фреймворк)
23:25 Изменения в Apiato (Porto) - исчезло использование DTO
30:08 Притянули Роберта Мартина
32:21 Про критику DTO

Шаблон проектирования DTO изначально был придуман для решения проблемы передачи данных между системами (веб-сервисами).
Первичная цель DTO заключалась в передаче данных при дорогостоящих удаленных вызовах. Вместо нескольких вызовов и передачи нескольких объектов делается один вызов и передается один собирательный объект.
Так же решаются проблемы:
- Ошибки при сериализации передаваемых объектов
- Сложная многоуровневая структура объектов
- Ненужные (излишние) для передачи данные

Объект DTO не должен содержать никакого поведения (никакой бизнес-логики)…
источник

R#

Reset # Alexey S. in Laravel для начинающих
Я слышал есть пакет laravel-sum
источник

AB

Azamat Buzanov in Laravel для начинающих
Я посмотрел, ничего толкового он там не сказал
источник

D

DK in Laravel для начинающих
просто публичный класс с типизированными свойствами
источник

AB

Azamat Buzanov in Laravel для начинающих
На каждое действие свой ДТО?
источник

D

DK in Laravel для начинающих
от спати пакет ну чот такое
источник

D

DK in Laravel для начинающих
ну ты на каждое действие(экшен\сущность) ведь создаёшь форм реквест?
источник

A

Adel in Laravel для начинающих
Есть же пхп 8. Там все просто
источник

AB

Azamat Buzanov in Laravel для начинающих
Для 7.4 рассматриваю решения
источник

AB

Azamat Buzanov in Laravel для начинающих
С 8.1 так вообще хорошо, readonly вместо геттеров
источник

AB

Azamat Buzanov in Laravel для начинающих
Ну просто с пакетом можно вообще одно ДТО иметь (конечно магии там под капотом дофига) и прокидывать туда массив, а там дальше автозаполнение полей. А так приходится создавать дофига ДТОшек, в том числе и на методы выполняющие бизнес-логику и обновляющие всего одно поле в БД
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
Когда у тебя много дтошек, ты знаешь какие там данные хранятся
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
И какой тип
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
А так ты массив прокинул и что дальше
источник

R#

Reset # Alexey S. in Laravel для начинающих
И генерить геттеры и сеттеры в шторме можно изи
источник

R#

Reset # Alexey S. in Laravel для начинающих
У меня дто ещё и с наследованием до внуков :)
источник