Приветствую, ребята! Введение Столкнулся с необходимостью хранить в .env урлы внешних сервисов

(т.к.есть шанс, что потребуется срочно изменить в зависимости от среды выполнения).

В коде
Пример URL имеет такой вид:
- GET_USER_URI='https://dev.service.com/api/v1/user/{USER_ID}/name'

В services.yaml прописал:

Service\UserService:
public: true
arguments: [
'%env(GET_USER_URI)%'
]

Итог
Все работает - из .env в сервис URL подтягиваются.
Через str_replace подменяю подстроку "USER_ID" на реальное значение.

Вопрос
Подскажите, пожалуйста, есть ли какой то best practise по замене таких подстрок из параметров на реальные значения или мой str_replace и есть оптимальное решение?)

5 ответов

9 просмотров

Для этих целей уже давно создан guzzle service desciption.

https://guzzle3.readthedocs.io/webservice-client/guzzle-service-descriptions.html

Sergio-K. Автор вопроса
Nikolay Deriglazov
Для этих целей уже давно создан guzzle service des...

Ух, хотелось бы не завязываться на Guzzle. Главное, что в Symfony аналога нет, тогда оставлю пока свой костыль с str_replace. В целом суть понял, спасибо!

может тебе просто домены в энве хронить, а урлы отдельно строить из хардкода

Nikolay Deriglazov
Для этих целей уже давно создан guzzle service des...

признаться в первый раз вижу эту штуку, вы в продакшене этот подход использовали? У меня сейчас так: - если API нормальное, то JSON маппим на DTO (сериалайзер в помощь) - если API сделано косо (так сложилось по историческим причинам), то респонс закидываю в массив, а геттеры делаю через aннотации https://github.com/mesilov/bitrix24-php-sdk/blob/master/src/Services/CRM/Deal/Result/DealItemResult.php (прошу прощения)

Похожие вопросы

Обсуждают сегодня

Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
господа, когда у вас в боте есть локализация (ру + англ, остальные языки пока не планируются), вы на первом старте как с языком решаете вопрос: смотрите на language_code приле...
Denis 🐍|👑 | darling! 🥰
5
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
Всем привет, Добавил в плагин определение user agent public function registerMarkupTags() { return [ 'filters' => [ 'staticPage' => ['RainLab\Pages\Cl...
John Norton Kruger
3
А чего при переходе с 2 на 3 все что в билдере сделано тютю?
Денис Александрович
5
Кому нибудь нужен плагин для генерации метатегов? А если нужен что бы вам хотелось в нем видеть?
Black Cat
3
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
Карта сайта