Criando um método que imprime JSON como resposta com PHP

Vamos criar um simples método PHP que devolve o conteúdo em JSON, com cabeçalho e código de resposta.

Publicado em

Em diversas aplicações precisamos retornar o conteúdo não só no formato JSON, mas com o cabeçalho e também com um status http code específico. Nesse artigo você confere como criar uma função simples e funcional para fazer um response json.


Primeiramente precisamos definir o conteúdo a ser convertido para um JSON, em seguida, devemos definir que o cabeçalho da página seja do tipo application/json, por fim, definimos o http status code.

Veja a função abaixo devidamente comentada.

/**
 * Imprime um array ou objeto em JSON
 *
 * @param  mixed $el
 * @param  int $httpCode
 * @return void
 */
function responseJson($el = null, int $httpCode = 200)
{
    //Definimos o cabeçalho com o tipo JSON.
    header('Content-Type: application/json', true, $httpCode);

    //Definimos o status http code.
    http_response_code($httpCode);

    //Convertemos e "printamos" o conteúdo em tela
    echo json_encode($el);
}

Agora veja o exemplo de utilização.

//Exemplo de utilização
$content = [
    'site' => 'SatellaSoft'
];

responseJson($content);

//Exemplo 2
responseJson(5);

//Exemplo 3
responseJson('not exists');

Perceba que na nossa função definimos o status code em dois lugares, uma no header e outra através da função http_response_code. Mantemos nesses dois lugares por redundância, sendo que já tivemos o problema de que no header não funcionava devido a limitação da função no servidor.


Por hora é isso, até a próxima.
 

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Todos os nossos cursos em promoção
Todos os nossos cursos em promoção

Webstories

Todos os nossos cursos em promoção

Todos os nossos cursos em promoção

Deixe um comentário
Aguarde...
Todos os nossos cursos em promoção