logoLog da Selva


Chaves e Ends

Escrito em Dicas, PHP por Luã de Souza em 28 de Junho de 2007

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?

Deixe uma Resposta