Bancos   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
dl 0
loc 33
rs 10
c 3
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getBancosDisponiveis() 0 2 1
A getEntidadeBancoPorNome() 0 8 2
1
<?php
2
3
/*
4
 * To change this license header, choose License Headers in Project Properties.
5
 * To change this template file, choose Tools | Templates
6
 * and open the template in the editor.
7
 */
8
9
namespace OBRSDK;
10
11
/**
12
 * Description of Bancos
13
 *
14
 * @author Antonio
15
 */
16
class Bancos {
17
18
    private static $bancos = array(
19
        'BancoDoBrasil',
20
        'Caixa',
21
        'Sicoob'
22
    );
23
24
    /**
25
     * Retorna array com os bancos disponiveis na api
26
     * chave = nome no json
27
     * valor = nome da entidade
28
     * @return array
29
     */
30
    public static function getBancosDisponiveis() {
31
        return self::$bancos;
32
    }
33
34
    /**
35
     * Retorna a entidade do banco por nome se achar a entidade do mesmo
36
     * Exemplo: banco_do_brasil roterona a entidade \OBRSDK\Entidades\BancoDoBrasil
37
     * @param string $banco_nome
38
     * @return \OBRSDK\Entidades\Abstratos\ABanco
39
     * @throws \Exception
40
     */
41
    public static function getEntidadeBancoPorNome($banco_nome) {
42
        $bancoClass = '\OBRSDK\Entidades\\' . lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $banco_nome))));
43
44
        if (!class_exists($bancoClass)) {
45
            throw new \Exception("Não foi possivel encontrar o banco '" . $banco_nome . "'");
46
        }
47
48
        return new $bancoClass;
49
    }
50
51
}
52