A Instrução ELSEIF em PHP
Programadores, por natureza, são bichos preguiçosos.
E não, isso não é uma crítica. Bill Gates disse que adora gente preguiçosa, pois eles sempre vão procurar a maneira mais rápida, simples e óbvia de resolver as coisas. E isso é verdade.
No decorrer de seus estudos e trabalhos como desenvolvedor web com PHP, você vai deparar gente fazendo coisas com milhares de linhas de código...enquanto outros vão resolver com algumas dezenas. Claro que, quase sempre, quanto menos melhor.
Falando em preguiça, vamos te apresentar a instrução ELSEIF, que serve para substituir os:
...
else
if
...
else
if
...
Por
...
...
elseif
...
elseif
....
else
....
Ou seja, apenas substituímos um bloco de:
ELSE
IF
Por: ELSEIF
Isso evita que nosso código fique cada vez maior e mais deslocado para a direita.
Exemplo de uso de ELSEIF
Vamos pegar o tutorial anterior, sobre IF e ELSE aninhados.
O último código que fizemos nele foi:
<?php $idade = $_GET['age']; if($idade < 16) echo "Você ainda não pode votar."; else if($idade < 18) echo "Seu voto é facultativo"; else if($idade<65) echo "Seu voto é obrigatório"; else echo "Seu voto é facultativo"; ?>
Veja como fica se substituirmos por ELSEIF
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="home.php" method="get"> Sua idade: <input type="number" name="age" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $idade = $_GET['age']; if($idade < 16) echo "Você ainda não pode votar."; elseif($idade < 18) echo "Seu voto é facultativo"; elseif($idade<65) echo "Seu voto é obrigatório"; else echo "Seu voto é facultativo"; ?> </body> </html>
Note que deixamos os IF, ELSEIF e ELSE todos alinhados, bem mais bonitinho e organizado, não acha?
Exemplo de uso de ELSEIF
Crie uma página que pergunta ao usuário que time ele torce, e mostre uma mensagem correspondente:
Corinthians - Vai timão!
Palmeiras - Não tem mundial!
Flamengo - Flamíííídia!
São Paulo - Bambiiii!
Athlético - Hum, Aflético!
Outro - Time pequeno, nem conheço.
Primeiro, faça sem uso do ELSEIF, depois com o uso do ELSEIF.
Sem usar o ELSEIF:
Cara dos outros programadores quando forem dar manutenção ou alterar algo em código assim:
Pessoal, o brasileirão série A tem 20 times. E a série B também.
Imagina você tendo que criar código para 40 times?
Usamos pra 5 e já ficou essa coisa horrenda.
Mas calma, vamos te ensinar o jeito certo de fazer as coisas.
Agora o código com ELSEIF:
Exemplo de uso de ELSEIF
Crie uma página que pergunta ao usuário que time ele torce, e mostre uma mensagem correspondente:
Corinthians - Vai timão!
Palmeiras - Não tem mundial!
Flamengo - Flamíííídia!
São Paulo - Bambiiii!
Athlético - Hum, Aflético!
Outro - Time pequeno, nem conheço.
Primeiro, faça sem uso do ELSEIF, depois com o uso do ELSEIF.
Sem usar o ELSEIF:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action=home.php method="get"> Que time você torce: <input type="text" name="time" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $time = $_GET['time']; if($time == 'Corinthians') echo "Vai Timão!"; else if($time == 'Palmeiras') echo "Não tem mundial"; else if($time == 'Flamengo') echo "Flamííídia"; else if($time == 'São Paulo') echo "Bambiiis"; else if($time == 'Athlético') echo "Hum, afléético"; else echo "Time pequeno não conheço"; ?> </body> </html>Notem como vai deslocando pra direita...e vai crescendo...fica horrível!
Cara dos outros programadores quando forem dar manutenção ou alterar algo em código assim:
Pessoal, o brasileirão série A tem 20 times. E a série B também.
Imagina você tendo que criar código para 40 times?
Usamos pra 5 e já ficou essa coisa horrenda.
Mas calma, vamos te ensinar o jeito certo de fazer as coisas.
Agora o código com ELSEIF:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="home.php" method="get"> Que time você torce: <input type="text" name="time" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $time = $_GET['time']; if($time == 'Corinthians') echo "Vai Timão!"; elseif($time == 'Palmeiras') echo "Não tem mundial"; elseif($time == 'Flamengo') echo "Flamííídia"; elseif($time == 'São Paulo') echo "Bambiiis"; elseif($time == 'Athlético') echo "Hum, afléético"; else echo "Time pequeno não conheço"; ?> </body> </html>Agora sim! Digno de um excelente desenvolvedor web, organizado, que estudou pelo Curso PHP Progressivo.