forked from manoelcampos/retorno-boletophp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRetornoBanco.php
executable file
·37 lines (34 loc) · 1.3 KB
/
RetornoBanco.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
<?php
/**Classe que implementa o design pattern Strategy,
* para leitura de arquivos de retorno de cobranças dos bancos brasileiros,
* vincular uma classe para processamento de uma carteira específica
* de arquivo de retorno, e criando uma interface única
* para a execução do processamento do arquivo.<br/>
* @copyright GPLv2
* @package ArquivoRetornoTitulosBancarios
* @author Manoel Campos da Silva Filho. http://manoelcampos.com/contato
* @version 0.1
*/
class RetornoBanco {
/**@property RetornoBase $retorno
* Atributo que deve ser um objeto de uma classe que estenda a classe RetornoBase */
var $retorno;
/**Construtor da classe
* @param RetornoBase $retorno Objeto de uma sub-classe de RetornoBase,
* que implementa a leitura de arquivo de retorno para uma determinada carteira
* de um banco específico.
*/
function RetornoBanco($retorno) {
$this->retorno=$retorno;
}
/**Executa o processamento de todo o arquivo, linha a linha.*/
function processar() {
$linhas = file($this->retorno->getNomeArquivo());
foreach($linhas as $numLn => $linha) {
$vlinha = $this->retorno->processarLinha($numLn, $linha);
//Dispara o evento aoProcessarLinha, caso haja alguma função handler associada a ele
$this->retorno->triggerAoProcessarLinha($this->retorno, $numLn, $vlinha);
}
}
}
?>