
Sergey
10.02.2017
10:10:35

Дмитрий
10.02.2017
10:10:37
все

Sergey
10.02.2017
10:10:49
симфони формы - текущее гавно по памяти ?

Google

Rodion
10.02.2017
10:11:16

Sergey
10.02.2017
10:12:36
оба
тогда небольшой икомерс, но со средней логикой для ценников(скидосики, накрутки)
всякие регистрации затащит бандлом, бойлерплейт на симфони напишет. а реализация правил бизнес логики покажет как он с ООП умеет работать

Rodion
10.02.2017
10:12:37
не держи в себе!
хотя вот несколько триггеров: CollectionType; несколько EntityType с choices по условию; data-prototype; {%form_theme form _dumbshit_entry_type %} и т.п.)
и чтобы избежать двунаправленных связей сущностей доктрины, пишем свои DTO) да и вообще пишем DTO)

Victor
10.02.2017
11:15:39
Товарищи, подскажите где настроить. У меня сгенерён контроллер с
FOS\RestBundle\Controller\Annotations\RouteResource
Сущность для которой создано API состоит из двух слов, типа MyEntity. При этом маршруты генерируются в формате
/api/myentity/...
а мне нужно чтобы было
/api/myEntity/...
Не могу в доках найти как это сделать.

Sergey
10.02.2017
11:25:54
тут мало кто с fosrest работает
так что лучше загляни в исходники

Victor
10.02.2017
11:28:02
или это вообще дурной тон?

Kirill
10.02.2017
11:28:44

Victor
10.02.2017
11:29:32

Google

Victor
10.02.2017
11:29:43
для каждого метода
и для каждой сущности это отслеживать

Timur
10.02.2017
11:44:10
http://symfony.com/blog/symfony-demo-1-0-0-released?utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+symfony%2Fblog+%28Symfony+Blog%29

Ринат
10.02.2017
11:44:51
это демо которая блог?

Roman
10.02.2017
11:47:27
да

Sergey
10.02.2017
11:48:03
или это вообще дурной тон?
хз... зависит от того что тебе надо. Если у тебя есть готовая сущность то как бы... для простой апишки достаточно сериализации/десериализации.
а для сложной генерация не поможет)
у меня был вариант генерить сущности из json схемы запросов и ответов

Victor
10.02.2017
11:50:46

Sergey
10.02.2017
13:01:30
гляну
не надо все же свой писать
https://github.com/amwmedia/plop - вот например неплохой генератор)
что если на нем мутить?)

Stepan
10.02.2017
13:05:34
Кстати, я тут как-то про лемонрест писал. Есть те, кто экстенсивно его пользовал?

Victor
10.02.2017
13:12:58

Sergey
10.02.2017
14:16:54
короч да, буду на plop просто шаблончик круда писать

Timur
10.02.2017
14:27:53
Symfony 2.8:
Есть две сущности: Class и School
Есть DQL запрос для получения списка классов школы с заданным id:
$qb = $repository->createQueryBuilder('class');
$result = $qb->where("class.school = 15");
Теперь, как получить список классов школы с заданным именем?
То есть ожидается что то такое (код нерабочий):
$qb = $repository->createQueryBuilder('class');
$result = $qb->where("class.school.name = 'adolf_hitler_school' ");

Sergey
10.02.2017
14:28:20
через джоин

Timur
10.02.2017
14:28:36

Sergey
10.02.2017
14:28:55
$qb->join('class.school', 'school')->where('school = 1')

Google

Timur
10.02.2017
14:30:01

Sergey
10.02.2017
14:30:10
исправил

Timur
10.02.2017
14:30:24
исправил
Если не заработает, будешь платить
:D

Sergey
10.02.2017
14:36:46
привет, использую FOSRest и JMS, посылаю гет-запрос /api/product/12345
/**
*
* @Route("/{id}", name="product_detail")
* @View()
*
*/
public function detailAction(Product $product)
{
return $product;
}
если такой товар есть, он возвращается корректно, если нет ошибка 500
Но если название переменной изменить, как тут:
/**
*
* @Route("/{id}", name="product_detail")
* @View()
*
*/
public function detailAction(Product $id)
{
return $id;
}
товар если есть все корректно, и если такого нету возвращает верно - 404
Почему так?

Sergey
10.02.2017
14:37:27
ну так в роуте напиши не id, а product

Sergey
10.02.2017
14:38:10
да, так будет тоже работать. Но почему эти названия должны совпадать?

Sergey
10.02.2017
14:39:33
ну а как еще парам конвертер догадается на что ему маппить?
если у тебя будет не 1 параметр, а 3?

Sergey
10.02.2017
14:40:54
а как он догадался, когда ему передаешь id товара который существует?)

Sergey
10.02.2017
14:41:53
ну в целом доки говорят что так можно
http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/converters.html#doctrine-converter

Sergey
10.02.2017
14:43:26
различия только в момент когда передаешь id товара, которого нет. В первом случае он возвращает 500 и говорит что ожидает на вход инстанс продукта, во втором же случае корректно отдает 404

Sergey
10.02.2017
14:44:47
сложно сказать) посмотри дебагером, узнаешь наверняка

Sergey
10.02.2017
15:01:58
короч накину тут
есть проект, есть сущность User с профилями и прочей шляпой. Если смотреть на приложение с точки зрения модулей, выходит что есть модуль юзеров например, и модуль какой-нибудь еще. И по хорошему "какой-нибудь еще модуль" ничего не должен знать о модуле юзеров, только айдишку.
ну то есть если надо отобразить детали пользователя какие-то, модуль пользователей должен предоставлять какой-то способ достать нужные штуки, а у нас будет какой-то сервис который будет доставать нужных юзеров и мэпить их к запросу.

Big_Shark
10.02.2017
15:14:28
@fes0r модули странная штука.

Google

Big_Shark
10.02.2017
15:14:54
@fes0r @Enleur Парни, вы тут говорили что носите с собой ноутбуки, а в каких рюкзаках?

Sergey
10.02.2017
15:17:06

Admin
ERROR: S client not available

Sergey
10.02.2017
15:17:40

Sergey
10.02.2017
15:18:02
ну так не используй тогда его)
сделай себе отдельный EM и в нем не будет мапинга к юзеру

Sergey
10.02.2017
15:18:28

Sergey
10.02.2017
15:18:29
?

Sergey
10.02.2017
15:18:56
с точки зрения структуры проекта это дико упрощает жизнь. Это дико снижает связанность, инкапсуляция повышается

Big_Shark
10.02.2017
15:19:23

Sergey
10.02.2017
15:20:36
не по сети и в рамках одного процесса

Big_Shark
10.02.2017
15:22:43

Sergey
10.02.2017
15:23:50
ну то есть вопрос "тяги связать" можно решить различными способами
меня больше интересует насколько тяга развязать обходится дороже. В краткосрочной перспективе кажется что сильно дороже, в долгосрочной же вижу профит
вот ищу людей которые делают почти микросервисы) что бы с изоляцией модулей все было хорошо

Google

Sergey
10.02.2017
15:25:53
ну и чем мне нравится такой подход - если надо сделать что-то очень быстро и ты ошибся при разбиении на модули - ошибку легко исправить и временно решить проблему кастылем
а потом починить планомерно

Rodion
10.02.2017
16:28:21
самый эссеншл ад - это связь "модели - Entity доктрины - формы"
модели и энтити возможно как-то безболезненно развязать, чтобы использовать в формах, например, без введения DTO? была идея сделать статические методы к Entity fromModel() и isValid().

Sergey
10.02.2017
16:30:35
вообще модель и сущность это одно и тоже..

Rodion
10.02.2017
16:31:02
если орудовать формами над энтити, начинается ад

finkel
10.02.2017
16:31:33

Rodion
10.02.2017
16:32:06
я так понимаю, что энтити - это просто отражение модели в persistence-слое. она является отдельной вещью
и предчувствую, что их желательно отвязать
т.е. мб энтити может являться декоратором модели, я хз...

Sergey
10.02.2017
16:36:26
тут можно поспорить
смотря что ты называешь моделью и сущностью. если есть идентификатор у этого куска данных, то это уже сущность

Rodion
10.02.2017
16:36:40
неа, у модели нет id, он ей не нужен

Sergey
10.02.2017
16:36:50
что такое модель тогда?)