
Yura
27.09.2016
21:47:59
мне toArray вообще не нравится
очень опасно

Sergey
27.09.2016
21:48:07
мне тоже)
ну пока проэцируя принтеры на свои текущие проекты - мне оно пока нравится больше геттеров и toArray и DTO

Google

Sergey
27.09.2016
21:48:29
но я на 100% не уверен

Yura
27.09.2016
21:49:30
не вижу разницы между принтером и toArray

Sergey
27.09.2016
21:49:42
эм… серьезно?)
почему?

Yura
27.09.2016
21:50:12
да
ну вот какая разница?

Sergey
27.09.2016
21:50:44
разница в том что мы не берем ничего у объекта, он сам пихает то что нужно
нам извне больше ничего по сути не нужно делать

Yura
27.09.2016
21:51:03
toArray тоже пихает
что нужно
в массив

Sergey
27.09.2016
21:51:13
нет, он выплевывает наружу и мы с ним снаружи и работаем
а тут - мы ничего потом не делаем

Google

Yura
27.09.2016
21:51:30
ммм

Sergey
27.09.2016
21:51:32
какой-то препроцессинг может происходить внутри принтера но

Yura
27.09.2016
21:51:37
а toJson не пихает наружу

Sergey
27.09.2016
21:51:50
нет, я просто не люблю строки
у меня json === array)
а так оно может финальный json сгенерить)
если надо

Yura
27.09.2016
21:52:22
какие строки?

Sergey
27.09.2016
21:52:31
json_encode
внутри принтера

Yura
27.09.2016
21:52:39
окей
всё ещё не вижу разницы

Sergey
27.09.2016
21:53:00
окей

Yura
27.09.2016
21:53:01
может финальй загенерить
ну ок
toArray тоже может

Sergey
27.09.2016
21:53:10
не может

Yura
27.09.2016
21:53:15
да?
у меня пару мест так работают
вполне норм

Google

Yura
27.09.2016
21:53:52
финальная дата

Sergey
27.09.2016
21:53:57
toArray - мы собираем стэйт и потом выплевываем его. То есть мы можем получить доступ через toArray()[‘title’] или чего такого
print - мы собираем стэйт в принтер, который не предоставляет доступ к стэйту.

Yura
27.09.2016
21:54:13
мммм

Sergey
27.09.2016
21:54:24
он может только распечатать данные в json

Yura
27.09.2016
21:54:30
$user->toJson(
(new JsonPrinter())
->ignore($this->userIsAdmin() ? [] : ['email'])
)

Sergey
27.09.2016
21:54:39
ну это мы “настраиваем” принтер)

Yura
27.09.2016
21:54:46
а что на выходе?

Sergey
27.09.2016
21:54:54
на выходе чего?

Yura
27.09.2016
21:55:17
так
$user->toJson(
(new JsonPrinter())
->ignore($this->userIsAdmin() ? [] : ['email'])
)['titile']
в чём проблема взять title
?

Sergey
27.09.2016
21:55:53
unable to get offset from string
хз
чувак. ты доебываешься)

Yura
27.09.2016
21:56:04
какой стринг?
toJson же возвращает array
:(

Sergey
27.09.2016
21:56:28
ну пусть array, ну получил ты доступ к стэйту
и че?

Google

Sergey
27.09.2016
21:56:40
я думаю разработчик поймет что делает что-то не то
когда у него JsonPrinter-ы будут повсюду

Yura
27.09.2016
21:56:49
так всё дело в том поймёт ли он?

Sergey
27.09.2016
21:57:03
ну геттеры - так себе идея
а dto - я слишком ленив что бы в php дтошки делать

Yura
27.09.2016
21:57:13
ты пытаешься сделать инкапсуляцию добавив несколько лишних операций?
можно в base64 перегнать
тогда вообще впадлу будет

Sergey
27.09.2016
21:57:29
я пытаюсь избавиться от необходимости делать полноценные dto
очень простая цель

Admin
ERROR: S client not available

Sergey
27.09.2016
21:57:44
и писать меньше кода
и контролировать вещи из меньшего количества мест
я много хочу?

Yura
27.09.2016
21:58:21
честно говоря
да

Sergey
27.09.2016
21:58:36
отвергая предлагай
dto - отстой
плюсов нету

Yura
27.09.2016
21:58:57
при чём тут dto

Google

Sergey
27.09.2016
21:58:58
чуть-чуть инфы для статического анализа
геттеры - говно
лишний код
toArray - говно потому что… на моем проекте они уже показали свою несостоятельность в сложных случаях (хэндлинг локали, вложенные структуры)
принтеры пока-что хорошо ложатся...

Yura
27.09.2016
21:59:57
я не понимаю идеи
добавить пару операций
чтобу девелоперу стало впадлу писать
можно добавить @deprecated

Sergey
27.09.2016
22:00:30
блин нет, смысл в том что бы вынести ответственность за формирование json-ки прямо в сериализуемый объект

Yura
27.09.2016
22:00:35
и тогда они будут опасаться
откуда он знает что тебе нужно?

Sergey
27.09.2016
22:00:56
а это знает принтер)
сущность пихает все
чувак, я еще обдумываю

Yura
27.09.2016
22:01:33
я тебе пытаюсь помочь
а не доёбываюсь :)

Sergey
27.09.2016
22:01:40
доебываешься)
шучу)

Yura
27.09.2016
22:01:51
ладно, окей, принтеры космос

Sergey
27.09.2016
22:01:56
не не
доебывайся

Yura
27.09.2016
22:01:59
:)