Hoje quero mostrar para vocês como criar um servidor JSON utilizando o PHP. Mas por que PHP e não JavaScript? Porque ainda é uma linguagem que tem hospedagem muito fácil de achar até mesmo gratuitamente. Se você já tiver um WordPress ou um site que suporte PHP já vai conseguir rodar isso, assim é possível rodar, por exemplo…
por: Tulio Faria
Categoria: DicasVideo-Tutorial
Hoje quero mostrar para vocês como criar um servidor JSON utilizando o PHP. Mas por que PHP e não JavaScript? Porque ainda é uma linguagem que tem hospedagem muito fácil de achar até mesmo gratuitamente. Se você já tiver um WordPress ou um site que suporte PHP já vai conseguir rodar isso, assim é possível rodar, por exemplo, projetos de teste como nosso Minhas Séries, que foi feito em ReactJS. A ideia é bem simples, apenas dois métodos por enquanto. Então vamos criar um arquivo chamado db.JSON e dentro dele vamos colocar assim:
{
“series”: \[
\],
“genres”:\[
\]
}Esse é nosso banco de dados. Feito isso, vou criar um index.php e adicionar alguns detalhes, primeiro dividir o que vier como get na variável e em seguida carregar o banco:
<?php
$path = explode('/', $\_GET\['path'\]);
$contents = file\_get\_contents('bd.json');
$json = json\_decode($contents, true);
$method = $\_SERVER\['REQUEST\_METHOD'\];
header('Content-type: application/json');
$body = file\_get\_contents('php://input');Agora que já lemos tudo, temos que adicionar um if. Caso o method for get, vamos apenas retornar o Json:
if($method === 'GET'){
if($json\[$path\[0\]\]){
echo json\_encode($json\[$path\[0\]\]);
}else{
echo '\[\]';
}
}Com isso, caso tivermos uma série dentro do campo séries, ele retornará essa série. Além disso, podemos inserir também:
if($method === 'POST'){
$jsonBody = json\_decode($body, true);
$jsonBody\[id\] = time();
if(!$json\[$path\[0\]\]){
$json\[$path\[0\]\] = \[\];
}
$json\[$path\[0\]\]\[\] = $jsonBody;
echo json\_encode($jsonBody);
file\_put\_contents('db.json', json\_encode($json));
}Caso não exista aquele caminho, vamos criar com um vazio, inserir um item novo e salvar. Caso olharmos o banco depois disso, temos a adição do novo item, caso usarmos o get novamente ele puxará todas as séries que existe lá mais a que foi adicionada por último. Você pode subir esse arquivo e o DB para o servidor que suporte PHP.
Deixe suas dúvidas e sugestões nos comentários. Curta o DevPleno no Facebook, inscreva-se no canal e não se esqueça de cadastrar seu e-mail para não perder as novidades. Abraço!