@symfony_php

Страница 18 из 1418
Sergey
09.12.2016
16:31:19
ну тип того, в контроллере будет что-то типа return new Item($product, new ProductListItemTransformer());

а вот как будет выглядеть мидлваря которая все будет склеивать я пока не знаю)

ну и у меня еще пара безумных идей в духе

return new ProductListRepresentation();

Google
Sergey
09.12.2016
16:32:37
а внутри этой хрени будет описано как сгенерить dql, который сфетчит массивчик

что бы сущности в целом не грузились

и можно было юзать разные клевые штуки вроде... читать данные из эластики

Denis denya Voskoboinik
09.12.2016
17:18:37
ребят, возможно глупый вопрос, но что делать, если нужно переименовать св-во сущности,, как найти все места где оно используется

Sergey
09.12.2016
17:23:32
пхпшторм умеет такое

Fayozjon [CybernatiC]
09.12.2016
17:23:56
Рефракторинг

Denis denya Voskoboinik
09.12.2016
17:24:24
оуу, круто как?

Sergey
09.12.2016
17:35:29
https://www.jetbrains.com/help/phpstorm/2016.2/refactoring-source-code.html

Sergey
09.12.2016
17:35:58
Refactor -> Rename

или Refactor -> Move если нужно неймспейс еще сменить

Sergey
09.12.2016
17:36:46
оуу, круто как?
вообще рекомендую периодически гуглить видосы где показывают волшебные штуки в шторме. Есть множество разных плюшек которые нехило увеличивают продуктивность. А то большинство штормом пользуются как блокнотом

Sergey
09.12.2016
17:37:21
всякие шорткаты типа pubf вместо написания целиком

генерация методов, полей

Google
Sergey
09.12.2016
17:37:28
пхпдоков

штуки с дебаггингом

Denis denya Voskoboinik
09.12.2016
17:37:58
спасибо, просто не нужно было рефакторить симфони еще, вот и не сталкивался)

Sergey
09.12.2016
17:38:06
я лайв темплейты себе настроил - так вообще збс

пишешь it и тебе funtion it_$() {} генерится

Denis denya Voskoboinik
09.12.2016
17:38:19
а если есть неявное обращение в твиге он же не найдет наверное

Denis denya Voskoboinik
09.12.2016
17:38:44
ну в контроллере делается find всех полей

Sergey
09.12.2016
17:38:49
ну с учетом того что информация о типах теряется - врядли

Denis denya Voskoboinik
09.12.2016
17:39:03
а в твиге client.name

Sergey
09.12.2016
17:39:24
тип для client потерян же

вообще ты всегда можешь тыкнуть find usages и посмотреть найдет или нет

Denis denya Voskoboinik
09.12.2016
17:41:33
та у меня нет такого, ребята тут думают внедрять элоквиент или доктрину) я им плюсы доктрины генерю)

Sergey
09.12.2016
17:50:02
если твои ребята мыслят табличками в базе то плюсы доктрины сойдут на нет

ну мол... я сейчас планирую писать аналог элоквента для доктрины)))

что бы сущности мэпились на структурки с публичными полями

или вообще на массивы

только для чтения конечно

read model для доктрины типа

ну и да

Google
Sergey
09.12.2016
17:51:42
если у тебя в сущностях будут геттеры и сеттеры - то как бы толку тоже нет

Ivan
09.12.2016
17:58:47
@fes0r а ты не знаешь либы для гидрации выборки из sql в структурки?

Sergey
09.12.2016
17:59:30
если тебе надо тупо массив на объект насодить - zend hydrator и есть окромиусовский generated hydrators

а если надо plain на дерево объектов... увы не знаю... сам ищу

был paper

Ivan
09.12.2016
17:59:53
выборку из SQL на массив ну или на DTO

с коллекциями, с присоединёнными сущностями

Sergey
09.12.2016
18:00:13
массив на массив - вот неплохой - https://github.com/ScriptFUSION/Mapper

массив на объекты... знаю только 1:1 который мэпит без изменений в структурах

https://github.com/cweiske/jsonmapper

в целом в свое время пробовал https://github.com/idr0id/Papper

Ivan
09.12.2016
18:05:32
а если надо plain на дерево объектов... увы не знаю... сам ищу
да, plain на дерево объектов, как ArrayHydartor доктрины

сейчас его и использую, немного пропатчил, т.к. он был завязан на ORM (entity manager, class metadata)

Sergey
09.12.2016
18:11:23
https://framework.zend.com/manual/2.4/en/modules/zend.stdlib.hydrator.html

ну из того что вменяемое есть

Ivan
09.12.2016
18:16:45
так его можно заюзать для гидрации plain выборки SQL с fetch-join'ами, коллекциями и т.п

?

или это маппинг массива на объект со схожей структурой?

$statement = $this->connection->prepare(' SELECT book.isbn AS book_isbn, book.name AS book_name, author.id AS author_id, author.name AS author_name, category.id AS category_id, category.name AS category_name FROM author LEFT JOIN book ON book.author_id = author.id LEFT JOIN category ON book.category_id = category.id '); $statement->execute(); $authors = $this->hydrator->hydrateAll($statement, $rsm); http://i.prntscr.com/95c3a0f45fbb44a894c7b55f8e72dd62.png такое вот

Oleg
09.12.2016
21:00:35
Бля окрамиус опять жгет в твиттере

Google
Oleg
09.12.2016
21:00:38
https://twitter.com/ocramius/status/806837281973792768

Весь тред просто легендарен

Sergey
09.12.2016
21:00:57
ооо, борис

меня шведы долго заебывали борисом)

how to squat like a slav :D

Oleg
09.12.2016
21:02:14
Почитай там всю конву сначала для контекста

Огонь

Sergey
09.12.2016
21:05:49
?

это уж совсем не по теме флуд

а я и не знал что егор java/php разраб

Sergey
10.12.2016
11:09:08
php?

серьезно?

Sergey
10.12.2016
11:09:30
да) в амстердаме пока работал писал и на том и на том

но вообще в джаву типа из пхп перешел

Sergey
10.12.2016
11:25:36
@Enleur слушай, может ты подскажешь... я вот думаю все же на осове окромиусовского гидратора запилить свой, который будет поддерживать рекурсивную гидрацию

насколько вообще адекватна идея вложенных объектов в контексте DTO?

я вот чет думаю думаю и не могу пока придумать "чем плохо"

Sergey
10.12.2016
11:26:36
ну вообще норм

а не смотрел в сторону симфони сериализатора?

хотя не то

Google
Sergey
10.12.2016
11:27:14
не он норм, если ты будешь свои нормалайзеры писать

Sergey
10.12.2016
11:27:25
ну хз даже. а че зендовый гидратор умеет? а то я не помню уже

Sergey
10.12.2016
11:27:34
ну он умеет гидрировать

и ты можешь составлять из маленьких простых гидраторов что-то посложнее

)

но из коробки он рекурсивно собирать объекты не умеет

хотя возможность такую дает, просто неудобно

хм... может реально symfony serializer потыкать

Sergey
10.12.2016
11:29:49
а из доктрины не пробовал чисто гидратор выдрать?

Страница 18 из 1418