Как стать автором
Обновить

Комментарии 13

вот только изобрели не до конца. имеет смысл сразу и использовать созданный класс, а не пытаться обмануть IDE.

И самое главное, смысл не в том, что так надо делать всегда, а в том, что если других вариантов нет (ограничены по времени и т.д. и т.п.), то можно применить эту технологию.

смысл как раз в том, что описывать данные классами стоит как можно чаще.
ну без фанатизма, но вы поймите, массивы это как раз от бедности, когда нужно быстро и можно тяп-ляп. массивы в PHP это очень мощный инструмент и использовать его можно абсолютно по-разному, поэтому и используют его кто на что горазд. но если мы хотим, чтоб проект был поддерживаемым, а люди, с ним работающие, не себе рвали волосы в труднодоступных местах, то использование DTO это очень замечательная практика.

посмотреть хорошие практики, как это реализовать и использовать, можно например, тут - https://github.com/spatie/data-transfer-object

Lost case (c)

Что бы применить DTO наверное надо весь битрикс переписывать, к сожалению. Я нивкоем случае не говорю что решение с ПхпДок - лучше. Я говорю про то - что там уже ничего не сделаешь...

Вы можете массивы битрикса в свои dto оборачивать и работать с ними. И когда надо обратно в массив, добивать в каждом dto метод toArray. Т.е. dto может реализовывать даже https://www.php.net/manual/en/class.jsonserializable.php

Я и не отрицаю что можно. Вопрос в том, сколько усилий надо потратить что бы привести это в более менее нормальный вид?

В самой новой версии PHPStorm (2021.2 EAP)

2022 до сих пор не привычно писать, ага?)

Вы сейчас изобрели DTO, или я не уловил суть?

А почему нельзя просто использовать #[ArrayShape]?

как ты можешь называть себя программистом, работая с ссаным битриксом?

Свое обоссаное мнение держи при себе, тебя не спрашивали.

А как тестировать эти штуки и насколько это будет удобно? Вопросы к памяти тоже остались. Вы проводили тесты по объему памяти на примере больших данных? Что это дает кроме удобства (субъективно)?

только надо не так делать, а полноценное DTO. фишка еще и в том что в php объекты потребяют меньше памяти чем массивы.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории