
Dmitry
18.07.2017
13:25:05
sensioextra (paramconverter) + jms serializer, получаю в контроллере сразу объект

Roman
18.07.2017
13:25:53
ага

Sergei
18.07.2017
14:03:56
В доктрине сейчас прокси паттерн используется для того чтобы сущности не знали как они там связи получают обработки лайзи лоада и инъекции EntityManager.
Но я помоему тут читал что в новой версии они на другой паттерн переходят который позволяет все это скрыть.
Может кто то знает какой?
Или просто какими другими методами можно реализовать это скрытие?

Daniel
18.07.2017
14:06:47
Можно ли как то не переопределяя Constraint-ы сделать игнорирование валидации пустых строк в симфони?

Google

Daniel
18.07.2017
14:07:01
Допустим:
'min_area' => [
new Assert\Optional([
new Assert\GreaterThan(0)
])
]
Это из $request переменная
Если запрос такой:
url.ru/action?min_area=&some_parameters=1212
То он валидирует
Т.е. когда min_area = ''
А когда null - все ок

Pavel
18.07.2017
14:21:48
Добрый день, как мне используя fosrest + jms отфильтровать ассоциацию? Например я хочу получить пост блога и комментарии, но пользователь может просматривать только свои комментарии, как мне фильтрануть ассоциацию comment в таком случае чтобы там оказалить комменты только текущего юзера?

Dmitry
18.07.2017
14:25:20
напиши на dql запрос на выборку сразу поста и комментариев с условием на комментарий

Pavel
18.07.2017
14:26:17
мнеб примерчик :) хоть схематический))
мыслю поймать

Dmitry
18.07.2017
14:31:03
делаешь в репозитории метод getPostWithUserComments($post_id, $user_id), и там что-то вроде SELECT p, c FROM {Post::class} p JOIN p.comments c WHERE p.id=:post_id AND IDENTITY(c.user) = :user_id
один из вариантов, дургой - в посте сделать getUserComments(user), и прописать его использование в jms

Pavel
18.07.2017
14:38:22
запрос вернет только посты где есть комментарии юзера?

Google

Артур Евгеньевич
18.07.2017
14:39:39
Мужики, каа сделать каскадный софтделит на аннотациях доктрины?

Dmitry
18.07.2017
14:39:45
да, связь Post->comments будет инициализирована, и там будут только комменты пользователя

Pavel
18.07.2017
14:40:24
я понимаю что надо как то заматчить Creteria на связь, но как это сделать в связке с jms если связь по сути дергает он сам
ну то есть вьюха

Ivan
18.07.2017
14:48:48

Roman
18.07.2017
14:50:41
Сергей же только апишки пишет, форм у него нет

Ivan
18.07.2017
14:51:14
а точна. любитель GraphQl ))

Dmitry
18.07.2017
14:54:56

Pavel
18.07.2017
14:58:02

Dmitry
18.07.2017
15:04:07
ах, я понял о чем... ну тогда или метод в репозитории, хотя мне, что-то, не нравится этот вариант... или можно SerializerSubscriber написать
пишешь сервис реализующий EventSubscriberInterface и тегаешь его jms_serializer.event_subscriber ... а там уже в визитором можешь что угодно делать

Pavel
18.07.2017
15:08:07
спасибо, пойду покурю маны

Dmitry
18.07.2017
15:08:19
http://blog.spdionis.com/symfony/jmsserializer/2014/11/27/add-data-to-serialized-entity.html
я просто обычно не сериализую сущности напрямую, только самые простые, а использую адаптеры, а они уже сериализуются

Pavel
18.07.2017
15:11:39
спасибо, пробежался по диагонали, не совсем понял от куда событие узнает по какому юзеру я хочу фильтрануть... пока в фаворите мой костыль )))
ну или как вариант пилить dto и их уже сереализовать, но так себе затейка, хотя более гибкая конечно

Dmitry
18.07.2017
15:18:43
ну я так делаю, ибо из одной сущности в разных методах у меня разные данные нужны, а я использую nelmio для документации, и группами там не всегда можно внятно документацию разрулить
не говоря уже о том, что нужно еще value object разворачивать в текст... в общем оказывается, что запилить dto на перспективу получается выгоднее

Jan
19.07.2017
07:43:46
Кто скажет, ловить исключения прямо в контроллерах — это нормальная практика или в Симфони это делается как-то по-другому?

Google

Sergey
19.07.2017
07:44:30
вообще общим обработчиком ловить их удобнее

Danil
19.07.2017
07:44:33
ловить или выбрасывать?
выбрасывать норм, ловить обработчиком

Jan
19.07.2017
07:45:48
Ловить. Скажем, сервис генерит исключение и в зависимости от этого надо разный результат вернуть в json или отрендерить.

Igor
19.07.2017
08:49:38
Всякие common штуки ловим глобальним хендлером, если что то кастомное - по месту..

Sergey
19.07.2017
10:01:09

Boris
19.07.2017
10:10:12
всем привет, есть какой-то в симфе аналог ларавелевских групп для роутов , чтобы доп парамы повесить на группу реквестов и дернуть из реквеста потом

Daniel
19.07.2017
11:03:44
Привет
Все есть
У тебя аннотации или yml \ xml?

Alexey
19.07.2017
11:52:46

Alex
19.07.2017
12:55:11
Новичек в симфони.
Нужно добавить функционал апи соц сетей(инста, фб)
Это нормально сделать под каждую бандл?

Roman
19.07.2017
12:55:35
нет

Alexey
19.07.2017
12:58:01
https://github.com/search?utf8=%E2%9C%93&q=symfony+facebook&type=
нет смысла городить и суппортить велосипед, который уже есть

Valentin
19.07.2017
13:15:01
https://github.com/hwi/HWIOAuthBundle 58 провайдеров
На случай если "апи соцсетей" это просто про авторизацию

Alex
19.07.2017
13:54:11
постинг, инфа о профиле и проч.

Pavel
19.07.2017
15:16:35
Вопрос по best practices. Бросать исключение прямо в методе entity плохо или норм? Например, в методе setStatus(Order::STATUS_CONFIRMED) бросить исключение типо new \AppBundle\Exception\StatusTransitionException("You cannot change status from 'canseled' to 'confirmed'.")

Dmitry
19.07.2017
15:18:29
canceled, бросать нормально, плохо вобще setStatus, хорошо -> cancel() или ->confirm()

Google

Pavel
19.07.2017
15:21:44
спасибо)
да confirm(), setStatus() что первое в голову пришло.

Daniel
19.07.2017
15:38:43
постинг, инфа о профиле и проч.
Ну не, вряд ли нормальной под каждый функционал бандл делать
Если задачи такие типичные и практически одинаковы для всех, то достаточно будет реализовать че то типа:
interface ApiProcessor
{
public function postToWall($msg) : ApiResponse;
public function getProfileInformation() : ProfileInformationInterface;
}
и типа:
class VkProcessor implements ApiProcessor
{
public function postToWall($msg) { return $this->request('GET', 'wall', [ 'text' => $msg ]) }
}
и т.д.

Alex
19.07.2017
15:39:48
Да, так и будет
Спасиб

Aleks
20.07.2017
08:25:42
всем привет

Dinar
20.07.2017
09:07:10
Привет всем.
Раньше был FosFacebookBundle. Он уже депрекейт. Есть ли какой-то пакет, который позволяет использовать API фейсбука? Не авторизацию.

Admin
ERROR: S client not available

Alan
20.07.2017
09:11:05
у них же SDK вродь был
https://github.com/facebook/php-graph-sdk

Dinar
20.07.2017
09:12:51
Так может есть хороший бандл именно для симфы?
В общем, все таки решил использовать его :)
Спасибо большое :)

Sergey
20.07.2017
09:58:36
меньше бандлов - больше фреймворконезависимых качественных либ

Alex
20.07.2017
10:04:51
Создание бандла заканчивается этой ошибкой, в чем может быть дело ?
Import the bundle's "services.yml" resource in the app's main configuration file:
- { resource: "@SocialBundle/Resources/config/services.yml" }
бандлы находятся в XXX/app/bundles/SocialBundle

Константин
20.07.2017
11:36:02
В чём ошибка не знаю, но services.yml бандла должен загружаться в DependencyInjection/SocialExtension.php. А не в config.yml

Dinar
20.07.2017
11:46:45

Google

Dmitry
20.07.2017
13:06:43
Кстати, по поводу либ: есть ли качественная либа для апи вк?

Anton
20.07.2017
14:03:28
Привет всем, а вот такая проблемка появилась:
Во все нужные классы автовайром заинжен класс Doctrine\DBAL\Connection, вроде бы ничего незаконного. Но теперь добавился второй db connection и естесственно autowire сломался. Как бы так поудобней сказать, чтобы по дефоту использовался doctrine.dbal.default_connection?

Sergei
20.07.2017
14:05:08
http://symfony.com/doc/current/service_container.html#explicitly-configuring-services-and-arguments

Sergey
20.07.2017
14:05:53
Doctrine\DBAL\Connection: '@doctrine.dbal.default_connection'

Anton
20.07.2017
14:07:37
это если что еще версия 3.2

Sergey
20.07.2017
14:08:05
алиас будет работать

Boris
20.07.2017
14:11:21
Aloha всем.

Anton
20.07.2017
14:11:25

Boris
20.07.2017
14:12:51
Подскажите пожалуйста. Хочу c yii2 перейти на symfony. Что можете посоветовать? Кроме доки.

Bogdan
20.07.2017
14:14:41

Big_Shark
20.07.2017
14:15:55

f4rt~
20.07.2017
14:24:58

Big_Shark
20.07.2017
14:38:04

Sergey
20.07.2017
14:38:29
в yii все глобал же

Big_Shark
20.07.2017
14:39:58

Sergey
20.07.2017
14:40:15
в ларе он глобален? омг

Alexander
20.07.2017
15:06:11
Всем привет! Есть файл AppBundle/Geocode/Coordinates.php
Как его исключить в конфиге DI, чтоб он не был сервисом?
AppBundle\:
resource: '../../src/AppBundle/*'
exclude: '../../src/AppBundle/{Entity,Repository,Geocode/Coordinates}'

Константин
20.07.2017
15:09:13
Если ты в других сервисах не ждёшь его как зависимость, симфони его проигнорирует.