Size: a a a

2022 January 12

k

knopkod4v in symfony
ну это вот уже модуляризация пошла. Вроде в идее слоёв этого нет
источник

k

knopkod4v in symfony
или скорее вертикальная декомпозиция, модули-то в слоях тоже можно найти, наверное
источник

k

knopkod4v in symfony
а хотя это не про то вроде, это про варианты количества слоёв видимо
источник

SP

Sergey Protko in symfony
функционал - модули, дата флоу - слои. и вертикальная и горизонтальная декомпозиция важны. но вертикальная (контексты) позволяет тебе иметь в рамках разных срезов разную горизонтальную
источник

SP

Sergey Protko in symfony
например выделение отдельного authorization layer позволяет тебе проверить эти аспекты в изоляции и делать предположение что если мы уже добрались до use case то "пользователю можно эту операцию выполнять" и опускать это в тестах. То есть каждый этап пайплайна мы можем тестировать отдельно
источник

SP

Sergey Protko in symfony
ну и в целом выстраивать очень простые потоки данных. Все это конечно идет лесом если мы проектируем не потоки данных а слои в вакууме + нет границ модулей + наша цель реюз кода а не simple design
источник

ЛЭ

Лесной Эльф... in symfony
Привет, подскажите плиз, как лучше хранить апи-ключ при написании своего пакета?

Типа есть класс Client, в нём хранить ключ как строковое свойство?
В нём хранить как отдельная зависимость-класс-свойство?
Или в этом случае можно синглтон сделать, чтобы можно было бы из разных классов без проблем использовать ключ?
источник

D

Dmitry in symfony
ключ принимайте в конструктор или сеттер или что у вас там
ключ должен храниться во внешнем источнике
источник

D

Dmitry in symfony
.env или его аналоги
источник

q

qpr0g in symfony
Всем привет! Не понимаю, как получить контейнер внутри команды, чтобы вызвать метод container->get(). Подскажите, пожалуйста. Symfony 6.0 Вроде раньше работало так
источник

D

Dmitry in symfony
не нужен вам там контейнер, сразу инжектите нужный сервис
источник

AA

Andrii Afanasiev in symfony
откажитесь от контейнера, у вас есть autowire и DI для нужных сервисов, классов и т.д.
источник

Б

Борис Зырянов... in symfony
Удобно заимплементить ApiKeyProviderInterface, который будет содержать методы работы с ключом (setKey, getKey, тоЧтоНадоKey), оный интерфейс, в свою очередь, инжектится в клиент или туда где нужен ключ. В приципе, если это симфонибандл, то сервис и так будет синглтоном.
источник

q

qpr0g in symfony
@PrimoSecundoTertio @OxCom спасибо за ответы.

В моём случае это не подойдёт. Я хочу получить rpcClient, а у них в примере через container->get и никак иначе. https://github.com/php-amqplib/RabbitMqBundle
источник

q

qpr0g in symfony
источник

D

Dmitry in symfony
ну, учитывая что они и для продьюсеров пишут что мол только через контейнер, то я готов сомневаться в их словах
источник

AA

Andrii Afanasiev in symfony
./bin/console debug:autowiring | grep old_sound_rabbit_mq.integer_store_rpc
источник

D

Dmitry in symfony
я использовал эту либу и продюсеры инжектил прямо в метод
источник

q

qpr0g in symfony
источник

AA

Andrii Afanasiev in symfony
поищите, тогда className, там он долен быть. в пример альяс, который указывает на класс. значит этот класс можно достать. находуй конец, можно в service описать его
источник