Por que temos que validar se uma variável existe?

Como sabemos, o PHP é uma linguagem que nos permite utilizar variáveis que não foram criadas, ou até mesmo criar variáveis a qualquer momento e mudar o seu tipo de variável em tempo de execução. Para quem não esta acostumado isto pode gerar confusões e diversos problemas no programa, sendo a mais comum o erro “Undefined variable $teste” no meio da sua página.

Na maioria dos artigos aprendemos a configurar nosso código para não exibir erros, porém esquecemos, que todo erro gerado acaba, querendo ou não, causando uma certa lentidão no código e em alguns casos gerando log’s de erro extensos no servidor, caso não se tenha configurado o PHP para não gerar tal relatório em ambiente de produção.

Como utilizar a função isset

Bom, para evitar este erro temos a função isset no PHP. Ele permite verificar se uma variável existe, antes de utilizarmos ela, no exemplo abaixo podemos ver uma das formas de utilizar o comando isset.

	<?php
	/*
         * Neste caso não será impresso nada na tela, pois
         * o a variável $variavel não foi criada em lugar
         * algum no código.
         */
        if(isset($variavel)) {
            echo $variavel;
        }
        ?>
    

O código acima não vai gerar nenhum erro, porém o conteúdo da variável também não será exibido, isto ocorre pois a variável $variavel não foi definida no código. Observe abaixo um exemplo onde o conteúdo é impresso normalmente.

	<?php
	//Criando a variável
	$variavel = "ogenial.com.br";
	
	//verificando se ela existe
	if(isset($variavel)) {
	    //imprimindo seu conteúdo
	    echo $variavel;
	}
	?>
	

Desta vez “criamos” a variável antes de validarmos o código, portanto a função retornou true.

A função ISSET

Entendendo os parâmetros da função isset

A função é composta por 2 parâmetros, sendo apenas o primeiro obrigatório.

(Variavel) Parâmetro 1 – Este parâmetro devemos passar qualquer variável que desejamos validar se existe ou não, sendo que o valor passado deverá respeitar todas as regras de declaração de variável do php.

Exemplo de preenchimento: $nomeVariavel

(Variavel) Parâmetro 2 – Este parâmetro é opcional e funciona em conjunção com o primeiro parâmetro sendo o retorno da função, o resultado do AND entre as duas validações, tendo o mesmo efeito de: return isset($variavel1, $variavel2).

Exemplo de preenchimento: $nomeVariavel

Quando utilizar a função isset

Exemplo 1 – Verificando se determinada variável foi enviada via $_GET

Verifique se a variável pagina foi enviada via GET, caso positivo, exiba a página de resultados conforme conteúdo informado.

Para a solução acima utilizaremos o seguinte exemplo:

	<?php
	//Definimos uma variável qualquer
          $paginaAtual = 1;
          
          //Verificamos se a variável $_GET['pagina'] foi criada
          if(isset($_GET['pagina'])) {
              //Atribuimos o valor enviado via GET para a outra variável criada
              $paginaAtual = $_GET['pagina'];
          }
          
          $consulta = new Consulta();
          $consulta->pagina = $paginaAtual;
          
          $consulta->exibeResultados();
        ?>
    

Exemplo 2 – Atribuindo valor padrão caso a variável não exista

Uma boa maneira de utilizar o isset é com o operador ternário, pois reduzirá em algumas linhas o seu código, sem contar que ficará mais simples e “correto” por assim dizer, veja o exemplo de código:

	<?php
	//Verificamos se $_GET['pagina'] existe, caso exista utiliza ela, caso não
        //atribui 1 para a variável.
        $paginaAtual = isset($_GET['pagina'])? $_GET['pagina'] : 1;
        
        $consulta = new Consulta();
        $consulta->pagina = $paginaAtual;
        
        $consulta->exibeResultados();
        ?>
    

By Função ISSET – O Genial