terça-feira, 8 de novembro de 2011

Os esquecidos operador lógico PHP


É muito raro que eu já vi um código que utiliza o PHP XOR operador lógico. Não é o caso de que não é necessário ou programadores não estão familiarizados com ele, ele provavelmente parece que a maioria dos programadores tornaram-se confortável com o uso o mais comum '& &' e '| |' operadores para construir todas as comparações lógicas; o operador XOR relegado para o buraco negro subconsciente.



Tome o seguinte exemplo artificial. Queremos verificar se apenas um dos diretórios - ou '$ dir1' ou '$ dir2', mas não ambos existe. O código usando apenas a lógica '& &', '| |' '!' E operadores é mostrado abaixo.
<? Php

$ Dir1  =  'download_A' ; 
$ dir2  =  'download_B' ;

se ( ( is_dir ( $ dir1 )  & &  ! is_dir ( $ dir2 ) )  | |  ( ! is_dir ( $ dir1 )  & &  is_dir ( $ dir2 ) ) )  { 
    echo  "somente um diretório existe!" ; 
}

?>
O código, obviamente, parece confuso, o que poderíamos facilmente simplificar o uso do 'XOR' operador como dado abaixo. O código é conciso, fácil de entender, e as chances de introduzir erros é menor do que a versão anterior.
<? Php

$ Dir1  =  'download_A' ; 
$ dir2  =  'download_B' ;

se ( is_dir ( $ dir1 ) XOR is_dir ( $ dir2 ) )  { 
    echo  "somente um diretório existe!" ; 
}

?>

Nenhum comentário :

Postar um comentário

Total de visualizações de página