forked from manoelcampos/retorno-boletophp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
exemplo_bradesco.php
62 lines (54 loc) · 2.54 KB
/
exemplo_bradesco.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?
/**Exemplo de uso da classe para processamento de arquivo de retorno de cobranças de 400 posicões do Bradesco.<br/>
* @copyright GPLv2
* @package LeituraArquivoRetorno
* @author Manoel Campos da Silva Filho. http://manoelcampos.com/contato
* @version 0.4
*/
//Adiciona a classe strategy RetornoBanco que vincula um objeto de uma sub-classe
//de RetornoBase, e assim, executa o processamento do arquivo de uma determinada
//carteira de um banco específico.
require_once("RetornoBanco.php");
require_once("RetornoFactory.php");
/**Função handler a ser associada ao evento aoProcessarLinha de um objeto da classe
* RetornoBase. A função será chamada cada vez que o evento for disparado.
* @param RetornoBase $self Objeto da classe RetornoBase que está processando o arquivo de retorno
* @param $numLn Número da linha processada.
* @param $vlinha Vetor contendo a linha processada, contendo os valores da armazenados
* nas colunas deste vetor. Nesta função o usuário pode fazer o que desejar,
* como setar um campo em uma tabela do banco de dados, para indicar
* o pagamento de um boleto de um determinado cliente.
* @see linhaProcessada1
*/
function linhaProcessada($self, $numLn, $vlinha) {
if($vlinha) {
if($vlinha["registro"] == $self::DETALHE) {
printf("%08d: ", $numLn);
echo "Nosso Número <b>".$vlinha['nosso_numero']."</b> ".
"Data <b>".$vlinha["data_ocorrencia"]."</b> ".
"Valor <b>".$vlinha["valor"]."</b><br/>\n";
}
} else echo "Tipo da linha não identificado<br/>\n";
}
/**Outro exemplo de função handler, a ser associada ao evento
* aoProcessarLinha de um objeto da classe RetornoBase.
* Neste exemplo, é utilizado um laço foreach para percorrer
* o vetor associativo $vlinha, mostrando os nomes das chaves
* e os valores obtidos da linha processada.
* @see linhaProcessada */
function linhaProcessada1($self, $numLn, $vlinha) {
printf("%08d) ", $numLn);
if($vlinha) {
foreach($vlinha as $nome_indice => $valor)
echo "$nome_indice: <b>$valor</b><br/>\n ";
echo "<br/>\n";
} else echo "Tipo da linha não identificado<br/>\n";
}
//--------------------------------------INÍCIO DA EXECUÇÃO DO CÓDIGO-----------------------------------------------------
$fileName = "retorno-cb030400-bradesco.ret";
//Use uma das duas instrucões abaixo (comente uma e descomente a outra)
$cnab400 = RetornoFactory::getRetorno($fileName, "linhaProcessada1");
//$cnab400 = RetornoFactory::getRetorno($fileName, "linhaProcessada");
$retorno = new RetornoBanco($cnab400);
$retorno->processar();
?>