vitaly_74
@vitaly_74

Как лучше передавать конфиг по “цепочке обязанностей”?

new PaymentOf(
    new ConcreatePaymentSystem(
        new CardForm(
            $_POST
        )
    )
);

Сейчас пишу небольшую библиотеку, для подключения платежных систем (на продакшене себя хорошо зарекомендовала). Но вот вопрос. в PaymentOf нужно передать конфиг бд для записи значений. в ConcreatePaymentSystem нужно передать конфиг для авторизации сайта на стороне платежной системы (так называемые секретный и публичный ключи). Как это сделать элегантно и хорошо. Вот пример конфига который организовал

$config = new Config(
[
    'secret' => [
        'secret_key' => '',
        'auth_key' => '',
    ],
    'db' => [
        'db_host' => '', //with db
        'db_name' => '', //with db
        'username' => '', //with db
        'password' => '', //with db
        'db_type' => 'mysql' //with db
    ],
    'urls'=>[
        'callback_url'=>'',//default
        'after_payment_url'=>'', //default
        'fail_url'=>'', //default
        'success_url'=>'', //default
    ]
]);

Также преследую цель простоты, удобности и расширяемости. Также мне бы хотелось сделать так чтобы и новичек разобрался как с этим работать. заранее благодарю за ответы.

p.s. я знаю о существовании аналагов - но они меня не устраивают.
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы