Como criar uma aplicação web usando apenas PHP e Google Sheets
PHP e google sheets

Como criar uma aplicação web usando apenas PHP e Google Sheets

Nesse tutorial você irá entender como criar uma aplicação usando apenas php e google sheets como base de dados uma planilha do Google Sheets. Ambas as tecnologias são gratuitas e podem ser utilizadas facilmente até mesmo por pessoas que não tem afinidade com o mundo da informática.  Nesse exemplo iremos criar uma loja virtual (e-commerce), no entanto, você pode usar esse modelo para qualquer outro tipo de informação que queira armazenar no seu banco de dados.  

Criar novas soluções usando elementos simples e gratuitos como o php e google sheets é algo maravilhoso. Então vamos ao tutorial!

Como criar uma planilha pública no Google Sheets

 
O primeiro passo é criar uma planilha dentro da sua conta Google. Para isso basta acessar o Google Docs e criar uma nova planilha, onde você poderá colocar as informações dos produtos que deseja vender em seu e-commerce. 
 
 
 

A seguir você deverá clicar no menu “Arquivo” e selecionar a opção “Publicar na web”:

 

Ao selecionar a opção, uma caixa de opções irá perguntar o que você deseja fazer com esse documento. Você deve selecionar a planilha que você deseja publicar (ou então documento inteiro) e também publicá-lo como pagina da web:

 
A partir desse momento você poderá acessar esse documento no formato JSON. Isso pode ser feito usando o seguinte link:
 
https://spreadsheets.google.com/feeds/cells/<ID_DA_SUA_PLANILHA>/1/public/full?alt=json
 
Para acessar esse link, você precisará do ID da planilha criada, que fica disponível ao acessar essa planilha em seu Google Docs:
 

 

3- Criando sua aplicação no PHP

Sua aplicação PHP deverá percorrer o JSON publicado anteriormente e exibir os itens em qualquer formato que você desejar. Primeiramente devemos fazer o “request” para o documento e capturar esse JSON:
 
  
$url = 'https://spreadsheets.google.com/feeds/cells/19vT4qkWn-PdfvIwKI9sVnDrOFqzb_fjeN9sEGhrNqE8/1/public/full?alt=json';
$file = file_get_contents($url);
$produtosDeInformatica = json_decode($file);
$produtos = $produtosDeInformatica->{'feed'}->{'entry'};
A seguir, você deverá criar um vetor para armazenar os itens da tabela como Strings:

$prodAsStrings = Array();
foreach ($produtos as $prod) {
array_push($prodAsStrings, $prod->{'gs$cell'}->{'$t'});
}
Após extrair os itens no formato de String, é interessante separar cada item como um “objeto”. Isso facilita a manipulação dos dados e permite que você deixe seu código mais legível.

$produtosObjetos = Array();
for ($i = 0; $i < sizeof($prodAsStrings); $i = $i + 5) {

// pega os itens no array e separa por "atributo" do objeto
$nome = $prodAsStrings[$i];
$categoria = $prodAsStrings[$i + 1];
$descricao = $prodAsStrings[$i + 2];
$imagem = $prodAsStrings[$i + 3];
$preco = $prodAsStrings[$i + 4];

// Declara um novo array
$item = Array();

// adiciona todos os itens ao novo array
array_push($item, $nome);
array_push($item, $categoria);
array_push($item, $descricao);
array_push($item, $imagem);
array_push($item, $preco);

// Adiciona todo o item ao array de produtosObjetos
array_push($produtosObjetos, $item);
}

Nesse caso, se você gostaria de melhorar esse código, seria interessante utilizar objetos e não apenas “arrays”. Veja um exemplo:

class Produto{
public $nome;
public $categoria;
public $descricao;
public $imagem;
public preco;
}

$produtosObjetos = Array();
for ($i = 0; $i < sizeof($prodAsStrings); $i = $i + 5) {

// Cria um novo produto
$p1 = new Produto();

$p1->nome = $prodAsStrings[$i];
$p1->categoria = $prodAsStrings[$i + 1];
$p1->descricao = $prodAsStrings[$i + 2];
$p1->imagem = $prodAsStrings[$i + 3];
$p1->preco = $prodAsStrings[$i + 4];

// Adiciona todo o item ao array de produtosObjetos
array_push($produtosObjetos, $p1);
}

Por fim, você poderá iterar sobre esse “array” de objetos e mostrá-los na tela de sua loja:

<?php for ($i = 1; $i < sizeof($produtosObjetos); $i++) { ?>
<div class="col-md-6 card-deck mb-3 text-center">
<div class="card mb-4 shadow-sm">
<div style="text-align: center">
<img height="300" width="300" src="<?= $produtosObjetos[$i][3] ?>">
</div>
<div class="card-header">
<h4 class="my-0 font-weight-normal"><?= $produtosObjetos[$i][0] ?></h4>
</div>
<div class="card-body">
<h1 class="card-title pricing-card-title"><?= $produtosObjetos[$i][4] ?></h1>
<div>
<?= $produtosObjetos[$i][2] ?>
</div>
<button type="button" class="btn btn-lg btn-block btn-outline-primary">Comprar agora</button>
</div>
</div>
</div>
<?php } ?>
O código completo dessa aplicação você pode fazer download no Github:
 
 
 
Esse tutorial também está no nosso YouTube:
 

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e forma com que ela pode transformar vidas!

Deixe uma resposta