private static function getBancoClass($file_content)
{
$banco = '';
$namespace = '';
if (Util::isCnab400($file_content)) {
/** Cnab 400 */
$banco = substr($file_content[0], 76, 3);
$namespace = __NAMESPACE__ . '\\Cnab400\\';
} elseif (Util::isCnab240($file_content)) {
/** Cnab 240 */
$banco = substr($file_content[0], 0, 3);
$namespace = __NAMESPACE__ . '\\Cnab240\\';
}
$aBancos = [BoletoContract::COD_BANCO_BB => 'Banco\\Bb', BoletoContract::COD_BANCO_SANTANDER => 'Banco\\Santander', BoletoContract::COD_BANCO_CEF => 'Banco\\Caixa', BoletoContract::COD_BANCO_BRADESCO => 'Banco\\Bradesco', BoletoContract::COD_BANCO_ITAU => 'Banco\\Itau', BoletoContract::COD_BANCO_HSBC => 'Banco\\Hsbc', BoletoContract::COD_BANCO_SICREDI => 'Banco\\Sicredi', BoletoContract::COD_BANCO_BANRISUL => 'Banco\\Banrisul'];
if (array_key_exists($banco, $aBancos)) {
$bancoClass = $namespace . $aBancos[$banco];
return new $bancoClass($file_content);
}
throw new \Exception("Banco: {$banco}, inválido");
}