PHP para Iniciantes: Estruturas de Controle - RETURN
Dessa estrutura, dificilmente você pode escapar. Afinal, uma das funcionalidades mais consumidas nas linguagens de programação é ter um operador capaz de retornar o resultado de alguma coisa.
Sua semântica é simples de entender: RETORNE (algumaCoisa). Mas o verbo retornar pode gerar uma certa confusão a depender do contexto. Mantenha em mente que, no caso da estrutura return, esse verbo usa o significado regressar. Você ordena que o interpretador volte ao ponto que o levou até o escopo atual com o dado que deseja transferir de volta. Se não houver ponto para retornar, ele encerrará o processo atual.
Quer um exemplo? Nós podemos mencionar os Correios. Se o entregador bate na sua porta três vezes e ninguém responde, ele retorna para o veículo com o pacote em mãos. Se você atende e recebe, ele retorna sem o pacote, mas com sua confirmação de recebimento.
O ponto aqui é: retornar é basicamente voltar ao que estava fazendo antes com a informação que resultou das instruções executadas ou void se não tiver retorno algum.
É fácil entendermos seu uso em funções, que sempre tem uma declaração de return, mesmo que não seja de forma explícita.
Ué, Kiko, eu já vi funções sem nenhum
return...
Não é porque você não vê que ele não está lá.
Enfim, pra resumir a resposta sobre o retorno de funções sem return, existe um tipo de retorno declarado como void, e esse é o cenário. "Não retornar nada" é o equivalente a executar return;, por isso, suas funções sempre estarão retornando alguma coisa.
E que tipo de dado primitivo representa o
void, Kiko?
O null. Acho que com isso, dá pra entender o impacto do return no resultado das funções... Mas, olha só, return não é nada exclusivo de funções, sabia? Você pode fazer um script retornar alguma coisa. Vamos ao exemplo prático:
<?php // juntar-nome-e-sobrenome.php
return $nome .' ' . $sobrenome;
Ué, Kiko?! De onde veio
$nomee$sobrenome? Por que raios retornar algo em um script?
Calm down, buddy
<?php // index.php ao lado de juntar-nome-e-sobrenome.php
$nome = 'Kaique';
$sobrenome = 'Garcia';
$nomeSobrenome = include_once(__DIR__ . '/juntar-nome-e-sobrenome.php');
var_dump($nomeSobrenome); // string(Kaique Garcia)
O $nome e $sobrenome foram dados criados no arquivo index.php. Então, repentinamente, eu falo para o interpretador incluir as instruções presentes no arquivo juntar-nome-e-sobrenome.php. No contexto atual, como as variáveis existem, nenhum erro irá ocorrer. Mas depois de chegar na linha com return, nós instruímos o interpretador a parar de interpretar o arquivo script.php e retornar ao arquivo index.php, recebendo o dado que veio no return.
Portanto, assim como funções, todo script PHP também retorna alguma coisa, incluindo nada (void)... Concorda? Pois é...
E por hoje é só! Curtiu? Comenta e compartilha! Mais um artigo curtíssimo pra facilitar a leitura da galera... Estou sentindo falta dos comentários aqui no blog, cadê vocês? Bom... No próximo artigo, falaremos sobre a estrutura require. Tem potencial para ser mais um bem curto... Pode esperar!
Inté!!