다른 지불 옵션을 처리하기 위해 인터페이스를 사용하고 있습니다.컨트롤러에서 인터페이스 참조 laravel
내 컨트롤러에 문제가 있습니다. 은행 슬러그를 얻지 만 그 슬러그를 기반으로 결제를 처리하는 데 사용할 클래스 은행을 결정합니다. 내 컨트롤러 : 나는 인터페이스로 전송되는 결제 서비스를 알 수 있도록
public function sendPayment($request, PayBank $bank_transacton)
{
here I want to reference the SentToBank interface and
send payment class that I get in return from checkBankImplementation function//
SendToBank()->sendLoanApplication($bank_transaction);
}
방법은 슬러그를 확인하려면 :
public static function checkBankImplementation($bank_slug) {
switch ($bank_slug) {
case "firstbank":
return new app\FirstBank\Client();
break;
case "secondbank":
return new app\SecondBank\Client();
break;
default:
return null;
}
}
내 인터페이스 :
<?php
namespace App\Banks;
interface SendToBank {
public function sendLoanApplication($bank_transaction);
}
은 무엇 클래스입니다 SendToBank 인터페이스를 구현? – marijnz0r
두 개의 다른 클래스는 각각 동일한 메소드를 가진 은행을 나타냅니다. sendLoanApplication ($ bank_transaction) –
구현이 아닌 인터페이스를 참조하려면 [인터페이스에 구현을 바인딩] (https : // laravel)이 필요합니다. com/docs/5.5/container # 바인딩 - 인터페이스 - 구현). 그러나 나는 당신의 경우에 그것이 합리적이지는 않습니다. – devk