O PHP é uma das linguagens mais usadas para criar sites dinâmicos, isto é, páginas cujo conteúdo muda conforme o utilizador, a hora ou os dados guardados. Corre em quase qualquer alojamento barato, o que o torna uma boa escolha para pequenos negócios e projetos pessoais.
O que torna um site "dinâmico"
Num site estático, cada página é um ficheiro HTML igual para todos. Num site dinâmico, o servidor executa código antes de enviar a página: pode mostrar o nome de quem fez login, listar produtos vindos de uma base de dados ou processar um formulário.
O PHP corre no servidor. O visitante nunca vê o código PHP, só o HTML que ele gera.
Preparar o ambiente
Para testar no teu computador precisas de PHP. Opções:
- Instalar o PHP e usar o servidor embutido.
- Usar um pacote que traz PHP, servidor e base de dados (como o XAMPP ou o Laragon).
Com o PHP instalado, na pasta do projeto corre:
php -S 127.0.0.1:8080e abre http://127.0.0.1:8080 no navegador.
O primeiro ficheiro
Cria index.php:
<?php
$nome = "Maria";
$hora = date("H");
$saudacao = $hora < 12 ? "Bom dia" : "Boa tarde";
?>
<!doctype html>
<html lang="pt">
<head><meta charset="utf-8"><title>Primeiro PHP</title></head>
<body>
<h1><?= $saudacao ?>, <?= htmlspecialchars($nome) ?>!</h1>
</body>
</html>Repara no htmlspecialchars. Usa-o sempre que mostres texto que possa vir do utilizador; evita que código malicioso seja executado na página.
Variáveis, condições e ciclos
<?php
$produtos = ["Caderno", "Caneta", "Mochila"];
foreach ($produtos as $p) {
echo "<li>" . htmlspecialchars($p) . "</li>";
}
$stock = 0;
if ($stock > 0) {
echo "Disponível";
} else {
echo "Esgotado";
}Em PHP as variáveis começam por $. A sintaxe é parecida com outras linguagens, por isso, se já viste JavaScript, vais sentir-te em casa.
Receber dados de um formulário
<form method="post">
<label>Nome <input name="nome" required></label>
<button>Enviar</button>
</form><?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$nome = trim($_POST["nome"] ?? "");
if ($nome !== "") {
echo "Olá, " . htmlspecialchars($nome);
}
}Os dados chegam em $_POST (formulários com método POST) ou $_GET (parâmetros no endereço).
Ligar a uma base de dados com segurança
Usa PDO com consultas preparadas:
<?php
$pdo = new PDO("mysql:host=localhost;dbname=loja;charset=utf8mb4", "utilizador", "palavra-passe", [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
$stmt = $pdo->prepare("SELECT nome, preco FROM produtos WHERE categoria = ?");
$stmt->execute([$_GET["categoria"] ?? "geral"]);
foreach ($stmt as $linha) {
echo htmlspecialchars($linha["nome"]) . ": " . (int)$linha["preco"] . " Kz<br>";
}O ponto de interrogação é substituído pelo valor de forma segura. Nunca juntes variáveis do utilizador diretamente ao texto da consulta. Aprende as bases em SQL para iniciantes.
Organizar o projeto
À medida que cresce, separa o código:
config.phppara configurações (fora do alcance público, se possível).includes/para cabeçalho, rodapé e funções.public/ou raiz para as páginas acessíveis.
Evita misturar muito HTML e lógica no mesmo ficheiro.
Segurança em PHP, o mínimo
- Escapa sempre o que mostras (
htmlspecialchars). - Usa consultas preparadas.
- Guarda palavras-passe com
password_hashe verifica compassword_verify. - Usa tokens CSRF em formulários que alteram dados.
- Desativa a apresentação de erros em produção e guarda-os em ficheiros de registo.
- Mantém o PHP atualizado.
Aprofunda em segurança web básica para programadores.
Quando vale a pena usar PHP
Para sites de empresas, blogs, lojas simples, painéis de administração e sistemas à medida, sobretudo quando o orçamento do alojamento é limitado. Se preferires não programar, podemos criar o teu site por ti.
Perguntas frequentes
PHP ainda é usado?
Sim, e muito. Grande parte da web corre em PHP, incluindo muitos sistemas de gestão de conteúdos.
PHP ou Python para web?
Ambos servem. PHP tem alojamento mais simples e barato; Python é muito forte também em dados e automação. Escolhe conforme o teu objetivo.
Preciso de framework?
Para aprender, começa sem. Frameworks como Laravel ajudam em projetos maiores, depois de perceberes o PHP puro.




