
Maksim
21.06.2018
05:34:12
Я не за производительность, а за саму проверку типов больше

Bohdan
21.06.2018
06:21:52
цитатка Марко с externals:
> Still, the fact that references are properly typed
mitigates the issue for my shady use-cases (I've got a reputation there),
самоирония это всегда хорошо :D

Sergey
21.06.2018
07:34:58

Maksim
21.06.2018
07:37:15

Google

Maksim
21.06.2018
07:40:42
Как раз теми, что в большинстве случаев закрывается тем же псалмом

Bohdan
21.06.2018
07:42:11

Maksim
21.06.2018
07:42:27
у меня на проекте вывод типов чуть более 98% псалм рисует.
но помимо типов он ещё всякое проверяет

Roman
21.06.2018
08:30:42
как сделать тонкий єкшен в контролере есле нужно срендерить вюху с большим количеством параметров:
$isMobile = $this->container->get('mobile_detect')->isMobile();
$providers = $this->getDoctrine()->....
....
$data = [
'providers' => $providers,
'isMobile' => $isMobile,
....
];
return $this->render('index.html.twig', $data);В результате каждая переменная для вюхи достается 1-2 строчками, а в суме получается толстой екшен.
Думал в командбас засунуть и дернуть команду в контролере, но тогда не совсем понятко как отдать респонс с басхендлера и сам рендер вызвать.

Maksim
21.06.2018
08:31:54
тонкий контроллер - эт не про кол-во символов

Bohdan
21.06.2018
08:33:28
команда - это не про получение данных
если так хочешь - сделай какой-нибудь DataProvider, но смысла в этом не вижу

Roman
21.06.2018
08:34:28

Bohdan
21.06.2018
08:34:43
более того - дергать контейнер зло
дергать getDoctrine тоже зло - репозитории есть

Roman
21.06.2018
08:35:16

Maksim
21.06.2018
08:35:24

Roman
21.06.2018
08:35:47

Google

Bohdan
21.06.2018
08:35:55

Roman
21.06.2018
08:36:08
пока не дошол к нему

Bohdan
21.06.2018
08:36:12
дойди
все просто
инжекти сервисы в экшн и используй их
про доктрину я тоже сказал - репозиторий используй

Roman
21.06.2018
08:36:38
ето большая перемена для мого проекта) не все так просто

Maksim
21.06.2018
08:36:44
мб стоит всё же сесть, почитать, подумать, а потом уже спрашивать?
вот серьёзно

Bohdan
21.06.2018
08:36:47
а то кажется мне, что ты qb там прям в контроллере дергаешь
ничего не изменится кроме того, что ты сможешь инжектить сервисы в экшн

Roman
21.06.2018
08:37:34

Bohdan
21.06.2018
08:37:43

Roman
21.06.2018
08:37:44
окей спасибо

Artem
21.06.2018
09:01:09
Есть правило: "никнейм должен быть уникальным". Тогда, насколько я понимаю, нужно его:
1. Проверить в валидации перед созданием сущности с никнеймом.
2. Соблюдать во время выполнения каких-то действий.
Каким образом соблюдать это правило на уровне домена? Ведь нельзя вытащить из БД все записи =\ (вытаскивать только никнеймы? о_О) Есть ещё ограничение через уникальный индекс в БД, но это уже проверка на уровне хранилища.
Стоит вообще этим заниматься или положиться на хранилище?

Maksim
21.06.2018
09:02:01
повесить юник констреинт и не париться

Valentin
21.06.2018
09:02:44
репозитории как сервисы
Инжектить репозитории в контроллер разве хорошая практика? Где то читал что репозиторий, как хранилище, не должно выходить за пределы своего слоя (там где проводится работа с данными) то есть в идеале должен быть сервис который выполняет какие то действия с репой а вот контроллер общается только с сервисом, но не репозиторием напрямую

Artem
21.06.2018
09:05:41

Google

Maksim
21.06.2018
09:06:06

Bohdan
21.06.2018
09:06:17

Valentin
21.06.2018
09:06:21

Sergey
21.06.2018
09:07:57

Artem
21.06.2018
09:08:18

Sergey
21.06.2018
09:08:31

Artem
21.06.2018
09:09:23

Valentin
21.06.2018
09:09:34

Maksim
21.06.2018
09:10:02

Sergey
21.06.2018
09:10:23
главное слово знакомое вспомнить
а там пойдет дело

Maksim
21.06.2018
09:10:45

Artem
21.06.2018
09:10:45
а как они помогут?)
ну вот я тоже не знаю как они помогут если отдельным запросом никнейм проверять. Но мало ли, я много чего не знаю

Sergey
21.06.2018
09:10:58

Valentin
21.06.2018
09:11:02
транзакции?
Вся проблема в том что база не отдает поле которое вызвало ошибку уникальности, и ты можешь только догадываться (или как я - парсить сообщение) что конкретно вызвало ошибку - емейл или никнейм

Sergey
21.06.2018
09:11:19
этого достаточно
а вообще - нахера тебе уникальный И email И nickname?
никогда не понимал этих людей которые заставляют меня выбирать аж две уникальные вещи

Google

Sergey
21.06.2018
09:12:35
это как "confirm password" - увидели где-то лет 10 назад и все еще лепят
культ карго

Valentin
21.06.2018
09:13:05

Sergey
21.06.2018
09:13:24
это было бы глупо

Dmitry
21.06.2018
09:13:35

Sergey
21.06.2018
09:13:42
ну то есть одно дело телеграм где ты юзернейм реально используешь для идентификации и другое дело комментики в бложике
а еще есть веселье - возможность "сменить" юзернейм)

Artem
21.06.2018
09:15:59
спасибо, что подсказали! Надеюсь мои вопросы не слишком глупые

Admin
ERROR: S client not available

Valentin
21.06.2018
09:17:59
не обязательно уникальным
Обязательно если делаешь авторизацию через email OR username и ты уверен что найдёшь только одного юзера что бы там не ввели

Sergey
21.06.2018
09:18:23
чем только email не угодил?

Valentin
21.06.2018
09:18:37
Удобство пользователя

Sergey
21.06.2018
09:18:43
в чем удобство?)
пользователь будет полагаться больше на менеджер паролей своего браузера

Valentin
21.06.2018
09:19:08
Никнейм короче

Sergey
21.06.2018
09:19:15
автозаполнение браузера
ты не те вещи оптимизируешь

Google

Sergey
21.06.2018
09:19:46
если уж заботишься об удобстве - сделай возможность зайти через фэйсбук какой
помимо email + password

Valentin
21.06.2018
09:20:00
А безопасность прибавится

Sergey
21.06.2018
09:20:18
прям на клиенте предложу
ну и по поводу заставлять - просто проверка на top1000 популярных паролей
или опять же авторизация через фэйсбук - тогда пароль не наша забота
максимально удобный вариант
для всех

Valentin
21.06.2018
09:23:26
Ну короче хз, но я уже несколько лет на своих проектах делаю вход через username or email + иногда соц сети и никто не жаловался, а ещё люблю минимальный пароль делать 4 символы, потому что юзер сам должен отвечать за свою безопасность, а я ему только удобство предоставляю
Подумываю попробовать никнейм сделать не обязательным, типа если не указываешь то выводим емейл или имя и фамилию если указаны

Sergey
21.06.2018
09:25:30

Artem
21.06.2018
09:25:38

Sergey
21.06.2018
09:26:44
я просто сужу по себе - если мне нужен какой-то сервис и там нет входа через соц сети и возможности за 2 минуты что-то потыкать - я ухожу. Возвращаюсь если реально ничего не нашел и все еще надо.

Valentin
21.06.2018
09:26:45

Sergey
21.06.2018
09:26:53
люди просто уходят
если люди тебе пишут о том что им неудобно - то это обычно прям вообще пиздец как херово должно быть что бы они прям напряглись

Valentin
21.06.2018
09:28:30
У меня обычно форма регистрации это 3 поля - емейл, юзернейм и пароль, не знаю кого может запугать такая форма, даже если нет входа через соц сети

Roman
21.06.2018
09:28:51
смотря что это за сервис
просто лень запоминать 100500-ый пароль к 100500 сервису куда зашел только посмотреть что это вообще такое

Bohdan
21.06.2018
09:30:06