Chaves e Ends
No PHP existem duas formas diferentes de se usar estruturas condicional e de loop, uma usando chaves ({ e }), e outra usando o termo end + nome da condição. Exemplos:
Chaves:
if ($foo == "bar") { echo "true"; } else { echo "false"; }
Ends:
if ($estado == "rio de janeiro") : echo "Carioca"; else : echo "Turista!"; endif;
Agora você deve estar se perguntando o motivo de usar endif, endwhile, endswitch, se basta colocar um } e fica tudo certo. Meu maior motivo para passar a usar end’s, foi a organização. O uso de chaves fica muito prático quando se tem um número reduzido de estruturas, agora veja o seguinte código:
if (!empty($_POST)) { for ($i=0;$i<count($_GET);$i++) { foreach($_GET as $key => $value) { switch ($key) { case $key == 'page' : if (file_exists($value)) { include($value); } break; } } } }
Confuso? É, a intenção foi fazer uma gambiarra mesmo. Basicamente o código verifica se um formulário é enviado, depois percorre o array $_GET e trata cada variável dele. Mas isso você entendeu… Agora, quanto tempo perdeu pra identificar o fim das estruturas? Imagine, então, 10 chaves seguidas… E ainda sem identação. Pois é, bem difícil de entender. Agora vamos ao exemplo com end’s:
if (!empty($_POST)) : for ($i=0;$i<count($_GET);$i++) : foreach($_GET as $key => $value) : switch ($key) : case $key == 'page' : if (file_exists($value)) : include($value); endif; break; endswitch; endforeach; endfor; endif;
Viu, que lindo? Qualquer um entende onde começa e onde termina uma estrutura só de bater o olho! Tá aí a grande utilidade dos end’s
Dúvidas?
