Павел
Это разные фичи
The Ant
бля, получается так )
Павел
Можно брать страну и тренды по стране при регистрации, можно для локали из строки браузера. Это все детали фичи с трендами, но переводы тут не при чем
The Ant
я думал завязываться на локаль, но судя по всему это тупая затея
The Ant
в пхп еще так всрато всё сделано :(
реквест в сервисы прокидывать западло, а в случае с языком локаль неоткуда больше получить. Тока если стейт хранить в сервисе. А он нахер там нужен
The Ant
как же я устал от всей этой херни...
Vlad
давай муравей, пиши убийцу symfony
The Ant
я не наркоман какой-то :D
The Ant
подкинь лучше идею как мне текущий язык из сервиса выплевывать, не сохраняя состояние этого языка
The Ant
в доке есть тупой метод завязаться на onKerner какое-то там событие
а с другой, если запустить симфу не чистя стейт на каждый запрос, получится хуйня )
Павел
Павел
Или написать свой свитчер
The Ant
или не выебываться и прокидывать локаль с контроллера, как у меня щас. И работать с айдишками, а не объектами :D
Павел
Павел
Если в котороллере, так напиши аргумент резолвер который соберет тебе объект
The Ant
Павел
The Ant
проблема в производительности конечно же. Не охота на каждый вызов создавать новый объект.
Павел
Просто рекомендация рекомендации рознь. Да стейтфул не очень, но оно тебе чем то мешает или помешает? А профита даст? И чего из этого больше?
Павел
Например если тот же роадраннер брать, там же не паралельные запросы идут, а последовательные. Просто сервисы надо чистить между запросами, через тот же resetInterface или еще как вручную
Павел
Те же логеры вроде батчем работают и стейт хранят
Павел
Короче хранить стейт не прям верх гавна, главное чтобы он в тебя не стрелял
The Ant
логгеры настраиваются, если это монолог )
Vlad
Павел
Хоть и кэш но все равно нафига
Vlad
The Ant
а модифицировать реквест дто сильно всратая идея? )
The Ant
в контроллере
Vlad
да нет. если иммутабл
The Ant
Павел
Павел
В денормалайзер прилетает строка из реквеста, суешь ее в свой резолвер, получаешь Lang - отдаешь на выход
Евгений
Друзья, всем мир! Подскажите пожалуйста, кто сталкивался с проблемой при настройке xdebug в phpstorm при работе с docker, такого рода: в settings -> php -> cli interpreter -> docker-compose в окне появляется такая ошибка Error while parsing "/home/evgen/IT/projects/docker/...";com.intellij.docker.agent.ApiTaskException:com.intellij.execution.process.ProcessNotCreatedException: Cannot run program "docker-compose" (in directory "/home/evgen/IT/projects/docker/..."): error=2, Нет такого файла и каталога
Евгений
Doctor
docker-compose точно установлен?
Пользователь добавлен в группу docker?
Юра
Похоже в проекте нет файла docker-compose.yml
Евгений
Установлен, добавлен, есть.
Евгений
Configuratio file на скриншоте
Юра
А сам docker-compose стоит?
Юра
Вообще по-моему в новом докере он идёт с самим докером, т.е. docker compose ...
Юра
Это раньше он ставился отдельно
Null
И щас ставится отдельно
Null
Просто не отдельным пакетом, а плагином.
Евгений
стоит, я проверил
Евгений
не понял после чего, но ошибка изменилась - в конце не нет такого файла, а отказано в доступе
Юра
Богдан это с правами юзера связано
Евгений
Друзья! Вы все используете docker и phpstorm?
S.
The Ant
https://github.com/symfony/symfony/blob/9a0f178c5324c6ee7a3d99fe4fb7ef31b454925c/src/Symfony/Component/Translation/LocaleSwitcher.php#L41
Это чо получается, RequestContext можно без зазрения совести юзать в сервисах? )
Vlad
Муравью разрешаю
The Ant
ну вон видишь юзают, и не жужжжат
Vlad
Во фреймворке стока всего используется, крч это не ориентир на хороший код
The Ant
потом с этого контекста в контроллер пробрасывают аргументы
The Ant
симфа кстати не реагирует на Accept-Language, лол
Павел
runWithLocale даже сахарок прикрутили)
The Ant
Павел
The Ant
Вот делаешь ты стейтлесс сервис, и риквеста у тебя нету. В чем прикол то?
Павел
Но всегда можно писать коряво если это профитно
The Ant
Павел
Если ты пишешь сервис 100% под реквест фрейморка и для этого флоу, то почему бы и не зависеть
Павел
Но опять же слишком абстрактная и жирная зависимость
Павел
Павел
Тут проблема в том, что сможешь ли ты потом распедалить этот код, если он не в реквесте будет и как
The Ant
Уже не сделаешь, если будешь пользоваться встроенным резолвером через атрибуты.
Павел