PWEB 20/10/2026

Persistência de Dados em PHP

Magnetic tape | IBM

1. O que é persistência de dados?

Persistência de dados é a capacidade de armazenar informações para utilizá-las posteriormente.

Imagine um sistema escolar em que um aluno realiza seu cadastro. Mesmo depois de fechar o navegador, seus dados precisam continuar salvos.

No PHP, podemos utilizar diferentes técnicas para armazenar informações:

  • Armazenamento em arquivos
  • Sessões
  • Banco de dados

Banco de dados com servidor

2. Como surgiu a persistência de dados?

2.1. Arquivos — Décadas de 1950 e 1960

Thinking machines: Stories from the history of computing | Science Museum

No início da computação, os programas armazenavam informações em arquivos, utilizando cartões perfurados, fitas magnéticas e, posteriormente, discos.

Com o tempo, tornou-se comum organizar dados em arquivos de texto.

Exemplo de um arquivo alunos.txt:

João;15
Maria;16
Pedro;15

No PHP, podemos salvar informações utilizando o comando abaixo:

file_put_contents("alunos.txt", "João;15");

Vantagem: simples de utilizar.

Desvantagem: difícil de pesquisar e organizar grandes quantidades de informações.

2.2. Bancos de dados — Décadas de 1960 e 1970

How the mainframe is modernizing, according to today’s IT pros

Com o crescimento dos sistemas, surgiu a necessidade de organizar melhor os dados.

Os bancos de dados permitiram armazenar informações de maneira estruturada. Na década de 1970, o modelo relacional trouxe a organização dos dados em tabelas.

Exemplo de uma tabela alunos:

IDNomeIdade
1João15
2Maria16
3Pedro15

Em 1995, surgiu o MySQL, que se tornou muito popular no desenvolvimento Web.

Kanbel Technologies

Utiliza a linguagem SQL para cadastrar, pesquisar, alterar e excluir informações.

Exemplo de consulta:

SELECT * FROM alunos;

Esse comando consulta todos os alunos cadastrados na tabela.

2.3. Sessões — Década de 1990

ITWeb turns 30 | ITWeb

Com a popularização da Internet, os sites precisavam identificar os usuários enquanto navegavam entre diferentes páginas.

As sessões permitem guardar informações temporárias, como o nome de quem está conectado ao sistema.

Exemplo: navegação de um aluno

Login

Perfil

Notas

A sessão mantém o aluno identificado nas três páginas.

Exemplo em PHP:

session_start();

$_SESSION["nome"] = "João";

Para recuperar em outra página:

session_start();

echo $_SESSION["nome"];

Vantagem: mantém informações do usuário entre diferentes páginas.

Desvantagem: não é indicada para armazenar cadastros permanentemente.

2.4. SQLite — Ano 2000

SQLite3’s C/C++ Interface is really Concise | by Samuel Owino | Medium

O SQLite surgiu como uma alternativa simples para trabalhar com bancos de dados.

Diferentemente do MySQL, ele não precisa de um servidor de banco de dados separado. As informações ficam armazenadas em um arquivo.

Exemplo em PHP:

$pdo = new PDO("sqlite:escola.db");

Esse código abre ou cria um banco de dados chamado escola.db.

Vantagem: simples de configurar e utilizar.

Desvantagem: pode apresentar limitações quando muitos usuários tentam gravar informações ao mesmo tempo.

3. Linha do tempo da persistência de dados

  1. 1950–1960 — ArquivosArmazenamento em cartões, fitas e arquivos.
  2. 1960–1970 — Bancos de dadosSistemas para organizar e consultar informações.
  3. 1995 — MySQLBanco de dados que se popularizou na Web.
  4. Década de 1990 — Sessões WebArmazenamento temporário de informações dos usuários.
  5. 2000 — SQLiteBanco de dados que funciona sem servidor separado.

Observação: as sessões Web não substituíram os bancos de dados. São tecnologias com finalidades diferentes, que continuam sendo utilizadas em conjunto.

4. Tabela comparativa

CaracterísticaTXTSessãoSQLiteMySQL
Onde armazena?ArquivoServidorArquivo de bancoServidor de banco
DuraçãoDuradouraTemporáriaDuradouraDuradoura
Usa SQL?NãoNãoSimSim
FacilidadeFácilFácilFácilMédia
Uso principalDados simplesLoginSistemas pequenos e médiosSistemas Web

5. Quando utilizar cada técnica?

Clean, modern text file icon for professional website design, software interfaces, and documentation

TXT — Lista simples

Salvar uma lista de nomes ou registrar informações em arquivos.

Login Illustrations - Free Download in SVG, PNG

Sessão — Login

Manter o usuário identificado enquanto utiliza o sistema.

SQLite Logo PNG Vector (SVG) Free Download

SQLite — Cadastro local

Desenvolver um pequeno sistema de cadastro sem configurar um servidor de banco de dados.

MySQL Database Consulting, Deployment & Managed Support Services in US & India

MySQL — Sistema Web

Desenvolver sistemas escolares, lojas virtuais e aplicações com muitos usuários.

CÓDIGO 01: Criando arquivos TXT na linguagem PHP.

Explicação:

  1. $arquivo — Define o nome do arquivo que será criado.
  2. $mensagem — Guarda o texto que será escrito.
  3. file_put_contents() — Cria o arquivo, caso não exista, e escreve a mensagem nele.
  4. echo — Exibe uma mensagem na página.

CÓDIGO 02: Criando um banco de dados SQLite e salvando uma mensagem nele.

Explicação:

  1. new PDO() — Abre ou cria o banco de dados mensagens.db.
  2. CREATE TABLE — Cria a tabela mensagens, caso ela ainda não exista.
  3. $mensagem — Armazena o texto que será salvo.
  4. INSERT INTO — Insere a mensagem na tabela.
  5. execute() — Executa o comando para salvar a informação.

Importante: para funcionar, o PHP precisa estar com a extensão pdo_sqlite habilitada no servidor WEB (Apache) e ter permissão para criar e escrever no arquivo do banco de dados.

CÓDIGO 03: Usando banco de dados Mysql para salvar uma mensagem.

ATIVIDADE DE LABORATÓRIO

  1. Utilizando o VS code, crie um arquivo chamado “arquivo.php” e salve ele na pasta “/var/www/html“. Em seguida, digite nele o CÓDIGO 01. Teste o código utilizando o navegador para acessar o servidor WEB local através do endereço: http://localhost
  2. Crie um novo arquivo chamado “sqlite.php“, salve ele na pasta “/var/www/html” e digite o CÓDIGO 02.
  3. Crie um novo arquivo chamado “mysql.php“, salve ele na pasta “/var/www/html” e digite o CÓDIGO 03.
  4. Após testar os códigos e verificar o correto funcionamento, copie eles para seu caderno separando em Código 01, 02 e 03

Rolar para cima