@symfony_php

Страница 81 из 1418
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 импортером Как на счёт выносить отдельный функционал, который не связан с основным проектом в отдельный бандл

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

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
http://symfony.com/doc/current/components/security.html
а нет на русском?( что то в конце дня вообще не идёт английский...

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

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

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

Страница 81 из 1418