
Timur
01.12.2017
12:41:50
Есть папки с сайтами на симфонии фреймворк

Sergey
01.12.2017
12:41:58
просто ставишь симфони dev зависимостью твоего бандла что бы ты мог спокойно его пилить в изоляции

Timur
01.12.2017
12:42:24
Мне не нужно тащить весь фреймворк в бандл

Google

Sergey
01.12.2017
12:42:56
хочешь запускать команды - ставь симфони. Не хочешь - не ставь.
хочешь отдельно профайлер юзать - ставь симфони
короч разберись кто от кого зависит для начала
не хочет он

Timur
01.12.2017
12:44:08
Ок
Спасибо

Sergey
01.12.2017
12:44:14
и это я еще не поднимал тему что тебе бандлы не нужны

Alex
01.12.2017
12:44:37
кто то знает как доктрина обрабатывает сущности при schema:update ?

Andrey
01.12.2017
12:44:39
Теперь то холивар будет?

Sergey
01.12.2017
12:45:08
я думаю этот холивар уже несколько лет как перестал быть актуальным
но люди продолжают клепать бандлы на все случаи жизни

Andrey
01.12.2017
12:45:41
киньте ссылкой, а то нуб в симфе, пожалуйста

Google

Andrey
01.12.2017
12:46:30
блеть. Но переиспользование в других проектах без бандлов?)

Sergey
01.12.2017
12:46:47
а что ты хочешь переиспользовать?
да и есть композер

Andrey
01.12.2017
12:47:04
интерфейсы доменов, сервисы для них
реализаций и конфигов под доктрину нет в бандлах, да

Sergey
01.12.2017
12:47:33
в разных проектах одинаковые домены?

Andrey
01.12.2017
12:47:41
+

Sergey
01.12.2017
12:47:53
а зачем их разделять тогда было?

Sergey
01.12.2017
12:47:54

Dmitriy
01.12.2017
12:47:56
например зачем бандл для guzzle?

Sergey
01.12.2017
12:48:04

Dmitriy
01.12.2017
12:48:13
ну я вот тоже спрашиваю

Sergey
01.12.2017
12:48:14
guzzle/guzzle в зависимости и поехали

Sergey
01.12.2017
12:48:16

Ruslan
01.12.2017
12:48:18

Dmitriy
01.12.2017
12:48:22
чтобы в профайлер плевать и все?

Sergey
01.12.2017
12:48:35
rabbitmq бандл 50/50 удобный, но без него жить можно

Alex
01.12.2017
12:48:54

Sergey
01.12.2017
12:49:12
там явно указано где сущности искать

Google

Sergey
01.12.2017
12:49:26
+ в конфиге ты можешь задать где их искать

Alex
01.12.2017
12:49:28
спс

Sergey
01.12.2017
12:49:43
https://github.com/fesor/project-skeleton/blob/master/app/config/config.yml#L53-L57
вот например
можно все то же получить и без бандлов (смотри symfony/flex)

Andrey
01.12.2017
12:51:18
Ради конфигов и думал

Sergey
01.12.2017
12:51:46
я скорректирую - бизнес логику в бандлы писать не ок идея
единственное исключение - если у тебя бандлы с логикой вообще никак друг от друга не зависят на уровне базы
и все общение происходит только через сервисы/события
да и "реюзабельная бизнес логика" это нонсенс какой-то
такое либо удобнее держать отдельным приложением, либо как часть большего приложения (например когда у тебя вайтлейблы)


Sergey
01.12.2017
12:56:29
не совсем верно выразился, как она понимает, что это сущность, на основе аннотаций ?
это лоадеры метаданных понимают. Ты типа говоришь где сущности лежат (там могут не только сущности лежать) а оно уже потом пытается достать все сущности по аннотациям. Но если ты скажем yaml юзаешь - оно по другому уже грузит. Но это все исключительно загрузка метаданных. На выходе при любом раскладе ты получишь метаданные. Ты можешь их хоть руками описать. + можно даже без сущностей, эта фича в dbal а не в orm. В ORM лишь слой который по метаданным сущностей генерит схему в формате dbal

Alex
01.12.2017
12:58:47
Ну насколько я понял, по умолчанию они должны находится в Entity, просто было интересно подхватит ли доктрина сущности которые в вендорах лежат.

Sergey
01.12.2017
13:01:07
это DoctrineBundle тебе такую возможнось по сути дает
если ты хочешь что бы сущность лежала где-то помимо Entity - добро пожаловать в ручное управление мэппингами)

Alex
01.12.2017
13:02:18
Прекратите сударь, мне не интересны извращения )

Sergey
01.12.2017
13:02:55
а мне интересны) мне не нравится названия Entity

$iD
01.12.2017
13:03:21

Google

Bohdan
01.12.2017
13:03:38

Andrey
01.12.2017
13:03:47
но в целом да, картина микросервисов имеется в виду

Sergey
01.12.2017
13:05:38

Bohdan
01.12.2017
13:05:51
та уже предчувствую веселье)

Sergey
01.12.2017
13:06:03
откажись сразу от идеи брэнчи юзать для изоляции вайтлейблов
делай изоляцию на уровне DI
конфиги

Admin
ERROR: S client not available

Sergey
01.12.2017
13:06:18
и все такое
будет меньше боли с поддержкой
а то будешь потом черепикать багфиксы по 10-ти веткам

Bohdan
01.12.2017
13:07:31
я хочу максимально это все развести на компонентообразный подход

Sergey
01.12.2017
13:08:02
но это не точно)

Bohdan
01.12.2017
13:08:43
ну нет у нас возможности прожать ф5 для быстрого сохранения и ф9 для быстрой загрузки(

Sergey
01.12.2017
13:13:33

Boris
01.12.2017
13:22:36
Подскажите, правильно ли я понимаю?
Задача контроллера только принимать данные от пользователя и/или возращать пользователю какой-то ответ.
После принятия данных от пользователя передаю их в сервис и там уже с ними работаю, верно?

Dmitriy
01.12.2017
13:26:59
принять реквест
чото там вызвать, передать реквест куда то

Google

Dmitriy
01.12.2017
13:27:15
вернуть респонс

Sergey
01.12.2017
13:27:20
то есть тебе в контроллер пришел http запрос, ты его переводишь в вызов метода сервиса, но сервис не с http запросом работает)
воспринимай контроллер как адаптер между http и приложенеим

Dmitriy
01.12.2017
13:28:27
ну еще можешь повалидировать реквест

Boris
01.12.2017
13:29:48
Мне вот такое не нравится видеть в контроллерах: https://github.com/symfony/demo/blob/master/src/Controller/BlogController.php#L92

Dmitriy
01.12.2017
13:30:30
это демка для старта

Boris
01.12.2017
13:30:54
Да, у меня просто под рукой больше ничего не нашлось :)
https://github.com/za4me/symfony.dev/blob/knp/src/AppBundle/Controller/GenusAdminController.php#L44
А, нет, есть.
т.е. если создание формы в action еще как-то оправдываю (на самом деле я просто не знаю где создание формы должно быть).
То, как по мне эта часть должна быть в сервисе: https://github.com/za4me/symfony.dev/blob/knp/src/AppBundle/Controller/GenusAdminController.php#L47
Который будет отвечать только за принятие определенных данных, определенной формы и уже с ними работать.
Короче если интересно это все читать по DDD книжки, да?

Dmitriy
01.12.2017
13:35:48
https://knpuniversity.com/
там курсы почитай
для начала

Boris
01.12.2017
13:36:07
По symfony? Читаю.

Timur
01.12.2017
13:36:22

Boris
01.12.2017
13:36:23
Этот пример (второй) что привел, по их курсу.

Sergey
01.12.2017
13:41:00
завтра на пхп митапчик в киеве идет кто-то?

Виктор
01.12.2017
13:41:21
ссылочку можно? скину нашему киевскому офису)

$iD
01.12.2017
13:41:26

Sergey
01.12.2017
13:41:39
http://phpfriends.club/meetups-4.html