Completed
Push — master ( 3ced2f...434446 )
by Vuong
01:47
created

BankProvider   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 38
ccs 0
cts 5
cp 0
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
banks() 0 1 ?
getBankLogo() 0 1 ?
1
<?php
2
/**
3
 * @link https://github.com/yiiviet/yii2-payment
4
 * @copyright Copyright (c) 2017 Yii Viet
5
 * @license [New BSD License](http://www.opensource.org/licenses/bsd-license.php)
6
 */
7
8
9
namespace yiiviet\payment;
10
11
use yii\base\BaseObject;
12
13
/**
14
 * Mẫu trừu tượng BankProviderInterface cung cấp các phương thức lấy thông tin ngân hàng như tên, logo, id.
15
 *
16
 * @author Vuong Minh <[email protected]>
17
 * @since 1.0.3
18
 */
19
abstract class BankProvider extends BaseObject
20
{
21
22
    /**
23
     * @var PaymentGatewayInterface xem phương thức [[__construct()]].
24
     * @see [[__construct()]]
25
     */
26
    protected $gateway;
27
28
    /**
29
     * BankProvider constructor.
30
     *
31
     * @param PaymentGatewayInterface $gateway đối tượng kết nối đến cổng thanh toán để cung cấp các thông tin cần thiết khi lấy danh sách ngân hàng.
32
     * @param array $config mảng thiết lập.
33
     */
34
    public function __construct(PaymentGatewayInterface $gateway, array $config = [])
35
    {
36
        $this->gateway = $gateway;
37
        parent::__construct($config);
38
    }
39
40
    /**
41
     * Phương thức hổ trợ lấy danh sách ngân hàng.
42
     *
43
     * @return array có khóa là mã ngân hàng và giá trị là tên ngân hàng.
44
     */
45
    abstract public function banks(): array;
46
47
48
    /**
49
     * Phương thức hổ trợ lấy logo ngân hàng thông qua id.
50
     *
51
     * @param mixed $bankId của ngân hàng.
52
     * @return string url logo absolute
53
     */
54
    abstract public function getBankLogo($bankId): string;
55
56
}
57