
Aleksandr
04.02.2017
11:24:15
на данный момент два формата: заказы и покупатели

Sergey
04.02.2017
11:24:28
зачем твоему хелперу entity manager?
писать в базу?

Aleksandr
04.02.2017
11:24:46
ага

Google

Sergey
04.02.2017
11:24:56
ну... в любом случае
открываешь документацию и читаешь что такое сервисы, как их регистрировать и т.д

Aleksandr
04.02.2017
11:32:46
то есть хелпер будет выступать сервисом?

Sergey
04.02.2017
11:37:15
ну да, и совет - избавься от слова "хелпер" при именовании вещей
это очень общее и абсолютно бессмысленное название
назови его "штука которая импортирует конкретные данные типа продукты из XML"
ProductFromXMLLoader
или что-то в этом духе
побольше воображения
имена вещей должны отражать что они делают

Salavat
04.02.2017
12:45:05
Формы же можно нативно как сервисы регистрировать? Но в таком случае как их корректно выводить в шаблонах? Через другой сервис указывать в конфиге как глобальную переменную-сервис?

Sergey
04.02.2017
12:45:26
формы регаешь просто как сервис и добавляешь тег что это форма
и юзаешь как и обычные всякие TextType

Google

Sergey
04.02.2017
12:51:17
https://symfony.com/doc/current/form/form_dependencies.html#define-your-form-as-a-service

Yuriy
04.02.2017
16:13:20
всем привет,
скажите пожалуйста имея логин и пароль в контролеле или сервисе можно авторизировать/создать пользователя используя FOSUserBundle ?
не заставляя пользователя повторно вводить эти даные в форму авторизации

Sergey
04.02.2017
16:14:57
достаточно иметь объект имплементящий UserInterface
не стоит хранить пароль юзера в открытом виде между запросами

Yuriy
04.02.2017
16:17:33
а на стороне фронта на уровне js можно закодировать строку в bcrypt чтобы в беке уже сверять эти хеши
?

Sergey
04.02.2017
16:17:57
эм..... а смысл?
давай так
ты сейчас придумываешь кастыли
начни с того что опиши что тебе изначально требовалось сделать
зачем тебе вообще пароль?
p.s. FosUserBundle всеравно не умеет в логины, это делают встроенные всякие form login-ы
и если задача именно создать сессию пользователя делается это без паролей всяких

Big_Shark
04.02.2017
16:20:41
ох епт, ну и вопросы

Yuriy
04.02.2017
16:21:05
есть форма заказа + авторизационые данные (имя, мыло, телефон) т.е. даные из 2 разные ентити
это выводится в одной форме и предлагается заказчику заполнить все 5-10 полей и одним нажатием отправить заказ, при этом если пользователя по мылу нет его нужно создать

Sergey
04.02.2017
16:23:45
короч твоя проблема - ты думаешь что FosUserBundle что-то делает
по факту - нет
у тебя есть юзер который имплементит UserInterface
на этом как бы хватит. Не захламляй себе голову бандлами и т.д.

Google

Sergey
04.02.2017
16:25:17
у тебя задача - авторизовать чувака
не вопрос - гуглишь "symfony how to login user programmatically"
и читаешь разбираешься

Yuriy
04.02.2017
16:29:03
т.е. моя мысль приемлема, или все же костыльный вариант?

Sergey
04.02.2017
16:30:09
твой вариант мягко скажем ужасен
забудь о нем
как минимум ужас в том что у тебя логика размазывается между клиентом и сервером
для банального логина
ну то есть.... такие слова как "декомпозиция" и "разделение ответственности" не просто так сущесвуют

Yuriy
04.02.2017
16:31:20
у меня как бы делема, или заставлять заказчика лишний раз тыкать мышкой при заказе, или выделять отдельно авторизацию

Sergey
04.02.2017
16:31:30
нет у тебя делемы
ты можешь сделать все что тебе надо без этих кастылей ужасных

Aleksandr
04.02.2017
16:31:53
Сергей, а вот по поводу моего случая с xml импортером
Как на счёт выносить отдельный функционал, который не связан с основным проектом в отдельный бандл

Sergey
04.02.2017
16:32:14

Aleksandr
04.02.2017
16:32:29
При случае юзать в других проектах

Sergey
04.02.2017
16:32:45
окей, по поводу "реюзания кода" - это булшит и сказки
реюзаются абстракции
строить просто так абстракцию в проекте на случай "а вдруг пригодиться" - лишний оверхэд

Aleksandr
04.02.2017
16:33:29
Хм ? пойду дальше курить симфонивские сервисы

Sergey
04.02.2017
16:33:35
потому алгоритм такой:
- имплементим что бы работало в нашем проекте
- если появляется необходимость заюзать в другом - пробуем вынести в абстракцию и потом в бандл

Google

Sergey
04.02.2017
16:33:47
ну то есть не надо сразу думать "сделаю сча так что бы реюзнуть"
получается обычно очень плохо
и времени тратится много
вот когда у тебя набирается какаято экспертиза в этом вопросе, например "я 10 раз делал логины через токены"
можно попробовать обобщить опыт в виде абстракции какой-то и сделать бандл

Yuriy
04.02.2017
16:40:57
Sergey Protko
спасибо за здравую идею, прикручу авторизацию в попапе после нажатия кнопки сохранить

Admin
ERROR: S client not available

Sergey
04.02.2017
16:44:15

Yuriy
04.02.2017
16:46:36
несовсем
есть форма заказа где заполняется ряд полей чтобы сохранить этот заказ его нужно привязать к какому то пользователю (возможны варианты он уже есть, или нужно регистрировать)
ранее я хотел совместить эти формы в одну, если это совсем невариант,
родился выводить форму регистрации после того как пользователь нажимает отправить заявку, в вспылвающем окне создадим пользователя а потом сохраним сам зака подвязав к нему свежесозданого пользователя

Aleksandr
04.02.2017
16:53:44
А вариант регистрировать пользователя автоматом из имеющегося мыла не подходит?

Yuriy
04.02.2017
16:59:01
да вариант, пароль можно на это мыло выслать,
но как быть если такое мыло уже будет?

Sergey
04.02.2017
16:59:25
что тут такого то
регаться главное не заставляй
ну или есть более хитрый ход

Aleksandr
04.02.2017
17:00:00
А вот если такое мыло уже есть - авторизовываешь пользователя

Sergey
04.02.2017
17:00:01
связи заказ с существующим юзером

Aleksandr
04.02.2017
17:00:12
Мыло должно быть уникальным в базе

Google

Sergey
04.02.2017
17:00:21

Aleksandr
04.02.2017
17:00:31
Ну это само собой

Sergey
04.02.2017
17:00:41
ну то есть это как авторизация на пониженных правах

Aleksandr
04.02.2017
17:00:48
Я имею в виду связывать заказ с имеющимся пользователем
Либо просить авторизоваться

Sergio
04.02.2017
17:04:31
привет всем. вопросик по FOSUserBundle. мне что ли не достаточно прописать в security.yml
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
чтобы меня не пускало в /admin/* ?
нужно вручную проверять в контроллере?

Sergey
04.02.2017
17:05:04
казалось бы, причем тут FosUserBundle?)
почитай документацию по symfony/security что-ли...
подумай, подебаж
(имею ввиду глянь какие вещи симфони предоставляет для дебага таких вещей)
http://symfony.com/doc/current/components/security.html
http://symfony.com/doc/current/security/access_control.html

Sergio
04.02.2017
17:39:45

Salavat
04.02.2017
19:08:46
А не использовать FOS*Bundle - дурной тон, да?
Что-то совсем он мне не нравится...

Big_Shark
04.02.2017
19:09:11

Sergey
04.02.2017
19:09:31
они дико бесят

Salavat
04.02.2017
19:09:52
Ну просто часто при разговорах о пользователях и прочем встречаю фос юзер бандл