
Evgeniy
04.07.2017
12:32:43
у тебя symfony/di ?

Sergey
04.07.2017
12:32:47
да

Evgeniy
04.07.2017
12:33:08
могу адаптер набрасать для него под свою либу
и тебе ничего в проекте менять даже не придется

Google

Evgeniy
04.07.2017
12:33:27
оверхед будет минимальным

Sergey
04.07.2017
12:33:49
как же не придется, а автовайринг, частичные аргументы, nonshared сервисы и тд?

Evgeniy
04.07.2017
12:34:07
все должно работать будет из коробки)

Sergey
04.07.2017
12:34:19
так оно будет просто юзать контейнер симфони

Evgeniy
04.07.2017
12:34:40
ога, захочешь отказаться будешь выносить от туда
в то что понравилось

Sergey
04.07.2017
12:34:59
не ты не понял, так ничего не покажет ведь

Evgeniy
04.07.2017
12:35:05
но я согласен пока у меня одна потенциальная проблема отсутствие кэша в тех местах где работаю с reflection
но не должно быть просадок по производительности

Sergey
04.07.2017
12:35:35
если б все так просто было, симфони не компилировало бы контейнер

Evgeniy
04.07.2017
12:36:45
ну хз
я делал и больше контейнеров
и обычно все они не нужны сразу

Google

Sergey
04.07.2017
12:37:34
в сифмони кстати тоже lazy по-умолчанию, он тебе не будет сразу инициализировать все что только возможно если это не требуется

Evgeniy
04.07.2017
12:37:58
ну да это фитча которая появлятся стала после 2015 года
я хочу вынести свой контейнер в shared memory через подобную штуку https://packagist.org/packages/gpslab/shmop
но надо бенчмарки и это разные research
которые по итогу повысят мои скилы)

Sergey
04.07.2017
12:39:37
зачем shmop? файлы и opcache
шустрее должны быть чем сериализация

Evgeniy
04.07.2017
12:40:00
надо мерить на практике
но да согласен opcache хорошо

Sergey
04.07.2017
12:40:13

Evgeniy
04.07.2017
12:40:14
просто я пока сильно с этим не замарачивался
то что я стараюсь все делать lazy да

Sergey
04.07.2017
12:41:49
следующим https://github.com/smpl/mydi/blob/master/doc/dynamicConfiguration.md
в php-di и symfony/di есть но не всегда
вот же

Evgeniy
04.07.2017
12:43:40
там сейчас абзаца этого нет вроде, я его удалил несколько дней назад еще
я там об этом говорил что многие контейнеры настрайвают через одно место
как массив
и получают оверхед, а я к тому что lazy это обязательная штука которая должна быть в любом di

Alex
04.07.2017
12:46:43
посоветуйте crash course по uml

Google

Sergey
04.07.2017
12:50:43
у этой либы только один плюс - при приеме на работу)

Evgeniy
04.07.2017
12:51:44
не только, надо помериться писькой бенчмарки с популярными решениями
но основное что я делал это даже не скорость (хотя это важно) а гибкость и удобство
для пользователя (программиста использующего либу)
надо заняться бенчмарками потом и кэшированием нормальным

Sergey
04.07.2017
13:06:50
а автовайринг?

Evgeniy
04.07.2017
13:13:11
он есть
а автовайринг?
https://github.com/smpl/mydi/blob/master/doc/provider/reflectionService.md
вместо @autowiring использую @inject но имя анотации можно менять
или ты про @autowire как в spring ?)

Sergey
04.07.2017
14:14:22

Sergey
04.07.2017
14:14:56
ну то есть как, если бы аннотации в пыхе были как аннотации в java...

Aleh
04.07.2017
14:14:57
это вы о чем?
а почему в пых не хотят добавить аннотаций?

Evgeny
04.07.2017
14:17:31
чего это autowire рак, это же одна из основных фич DI

Aleh
04.07.2017
14:18:46
Сергей наверное аннотацию имел ввиду

Sergey
04.07.2017
14:19:06
да, аннотацию

Aleh
04.07.2017
14:19:39
когда это тебя аннотации покусали?

Sergey
04.07.2017
14:20:05
не все аннотации. Конкретно эти - в них не вижу смысла

Google

Sergey
04.07.2017
14:20:25
сторонник конфигов?

Aleh
04.07.2017
14:20:27
почему?
типа что их фигово в деве перекомпиливать, надо отдельный вотчер держать?

Evgeny
04.07.2017
14:22:19
а, я бы даже обобщил, аннотации для di или orm бессмысленны

Aleh
04.07.2017
14:22:40
))))
хз, по мне так аннотации норм, если вы из-за этого не уперлись в скорость чего бы то ни было
так сказать наименьшее зло

Pavel
04.07.2017
14:23:41

Sergey
04.07.2017
14:33:27
для ORM норм

Admin
ERROR: S client not available

Evgeny
04.07.2017
14:36:19
а как у тебя орм сущности от модели отделяются?

Aleh
04.07.2017
14:50:11
никак?
сущности часть доменной модели

Evgeny
04.07.2017
15:00:19
я два способа знаю, я отделяю всё что связано с конфигом орм в отдельное место, с виду даже не поймешь что класс из persistent layer, другой способ абстрактные классы-модели и наследовать сущности от них. в обоих аннотации только мешают

Aleh
04.07.2017
15:01:48
не понял про абстрактные классы модели
зачем от них сущности наследовать?
конфиг орм отдельно, в нем немного дублируется инфа из сущности, это да, ну или в аннотациях около пропертей прямо в классе. Больше там инфы от ормки особо и нет

Evgeny
04.07.2017
15:02:54
делаешь класc abstract class user { тут модель } и class userentity extends user { тут специфичное для орм }

Aleh
04.07.2017
15:03:11
а что такого специфичного для orm в entity?

Evgeny
04.07.2017
15:03:25
то, что тебе не нужно в доменной модели

Google

Evgeny
04.07.2017
15:03:39
а орм без этого не работает

Aleh
04.07.2017
15:03:56
например?

Evgeny
04.07.2017
15:12:12
хорошего примера не дам, не пользуюсь таким подходом, всякие сеттеры, связи ненужные. обработчики событий

Aleh
04.07.2017
15:13:03
ну сеттеры не нужны
ненужные связи тем более))

Evgeny
04.07.2017
15:16:18
вот что-то там было в доктрине из-за чего нужен геттер для связи

$iD
04.07.2017
15:16:20
всё же не ясно, чем отличается модель от orm в этом случае )))
как я понял в сущности ты пихаешь только проперти с маппингом. а в модели всякие calculateSmth и т.д. и т.п.... но тогда не ясно почему это не может быть в сущности

Evgeny
04.07.2017
15:26:36
если брать доктрину, будет много аннотаций размазано на несколько экранов (yml конфиг же пару десятков строк). 90% аннотаций кстати можно было бы разрулить используя @ var + конвенции, а 10% уже тогда всё равно куда пихать было бы

Sergey
04.07.2017
15:27:30
все же проще контролировать аннотации, чем отдельный маппинг

$iD
04.07.2017
15:27:36
как говорит core разработчик doctrine - не используйте yml
ни
ко
гда
аннотации - всё что вам нужно

Sergey
04.07.2017
15:28:04
аннотации для своих проектов, xml для опенсорса

$iD
04.07.2017
15:28:06
если хотите пошарить бандл - юзай xml

f4rt~
04.07.2017
15:28:16
а он говорит какая боль внутри этих аннотаций?

$iD
04.07.2017
15:28:22
какая

Sergey
04.07.2017
15:28:22
я хз как yml может быть удобнее чем аннотации

$iD
04.07.2017
15:28:32
^ Тож самое

Evgeny
04.07.2017
15:31:49
ну доктрина да, заставит аннотации писать