Skip to content

Instantly share code, notes, and snippets.

@jonasporto
Last active August 29, 2015 14:02
Show Gist options
  • Save jonasporto/bb279316ad46900c447c to your computer and use it in GitHub Desktop.
Save jonasporto/bb279316ad46900c447c to your computer and use it in GitHub Desktop.
Anti-IF and DRY
//if and repeated code
if($saidas[0]['SaidasFinanceira']['cod_pf_recebedor']!=''){
$dadosEntidade = $saidas[0]['PessoasFisica'];
$codEntidade = $saidas[0]['SaidasFinanceira']['cod_pf_recebedor'];
$tipoEntidade = 'PF';
}else if($saidas[0]['SaidasFinanceira']['cod_pj_recebedor']!=''){
$dadosEntidade = $saidas[0]['PessoasJuridica'];
$codEntidade = $saidas[0]['SaidasFinanceira']['cod_pj_recebedor'];
$tipoEntidade = 'PJ';
}else if($saidas[0]['SaidasFinanceira']['cod_org_recebedor']!=''){
$dadosEntidade = $saidas[0]['Organizacao'];
$codEntidade = $saidas[0]['SaidasFinanceira']['cod_org_recebedor'];
$tipoEntidade = 'ORG';
}
//DRY and Anti-if
$tiposEntidade = array('PF'=>$saidas[0]['SaidasFinanceira']['cod_pf_recebedor'],
'PJ'=>$saidas[0]['SaidasFinanceira']['cod_pj_recebedor'],
'ORG'=>$saidas[0]['SaidasFinanceira']['cod_org_recebedor']);
$dadosEntidades = array('PF'=>$saidas[0]['PessoasFisica'],
'PJ'=>$saidas[0]['PessoasJuridica'],
'ORG'=>$saidas[0]['Organizacao']);
$tipoEntidade = key(array_filter($tiposEntidade));
$dadosEntidade = $dadosEntidades[$tipoEntidade];
$codEntidade = $tiposEntidade[$tipoEntidade];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment