O que é PHP e por que ele ainda importa

O que é PHP e por que ele ainda importa

PHP roda no servidor, e é essa única característica que explica quase tudo: por que o código nunca chega ao navegador, por que a lógica fica protegida e por que o resultado funciona em qualquer cliente. Também o que a linguagem não é — e por que as críticas mais repetidas descrevem uma versão que não existe mais.
PHP

11 min de leitura

Quando você acessa um site, preenche um formulário, faz login em uma plataforma ou compra algo em uma loja virtual, existe uma grande chance de que, nos bastidores, um servidor esteja rodando PHP. Discreta, porém onipresente, essa linguagem de programação completou trinta anos de existência e continua sendo uma das mais utilizadas no mundo — não por inércia, mas porque ela evoluiu de forma consistente e resolveu problemas reais com elegância crescente.

Este primeiro artigo não é sobre código. É sobre contexto. Antes de aprender a sintaxe, você precisa entender o terreno onde está pisando: o que o PHP é, o que ele não é, e por que vale a pena dedicar um ano inteiro ao seu domínio.

O que é o PHP, tecnicamente falando

PHP é uma linguagem de programação de propósito geral, com foco histórico no desenvolvimento web. Ela é interpretada (o código é executado linha a linha, sem necessidade de compilação prévia), dinamicamente tipada (você não precisa declarar o tipo das variáveis antecipadamente) e roda principalmente no lado do servidor.

Essa última característica é fundamental. Ao contrário do JavaScript, que executa no navegador do usuário, o PHP executa na máquina do servidor. O usuário nunca vê o código PHP — ele recebe apenas o resultado, geralmente em HTML. Isso traz vantagens importantes: a lógica de negócio fica protegida no servidor, o resultado funciona em qualquer navegador, e você tem controle total sobre o que é entregue ao cliente.

O PHP se integra naturalmente ao HTML, conecta-se a praticamente qualquer banco de dados do mercado, manipula arquivos, envia e-mails, consome APIs externas, gera PDFs, processa imagens e muito mais. É uma linguagem completa para o back-end web.

Por que aprender PHP hoje?

Essa pergunta merece uma resposta honesta, não um discurso de vendas.

O PHP alimenta mais de 75% dos sites com back-end identificável na internet. O WordPress — que move cerca de 43% de todos os sites do mundo — é escrito em PHP. O Laravel, framework PHP moderno, é consistentemente eleito um dos frameworks web mais amados pelos desenvolvedores em pesquisas anuais como a Stack Overflow Developer Survey.

O mercado de trabalho para PHP é vasto e real. Há uma enorme base de sistemas legados que precisam de manutenção, modernização e novos recursos. E há também um ecossistema moderno e vibrante, com ferramentas, padrões e comunidade ativos.

Aprender PHP significa ter acesso imediato a oportunidades de emprego, à possibilidade de criar projetos próprios com rapidez, e a uma base sólida que facilita o aprendizado de outros frameworks e linguagens.

O que o PHP não é

É importante desmistificar algumas críticas que você certamente vai encontrar.

"PHP é uma linguagem ruim." Essa afirmação é baseada, em grande parte, no PHP das versões 3 e 4, da virada do milênio. O PHP moderno, a partir da versão 7 e especialmente na versão 8, é uma linguagem bem projetada, com sistema de tipos robusto, orientação a objetos madura e ferramentas de qualidade.

"PHP é lento." Falso para o PHP moderno. O PHP 8 com JIT (Just-In-Time compiler) é significativamente mais rápido que versões anteriores e compete com outras linguagens interpretadas em cenários web reais.

"PHP está morrendo." Os dados contradizem isso consistentemente. Novas versões são lançadas regularmente, o Laravel continua crescendo, e a comunidade é ativa e produtiva.

Nada do que veio até aqui era código, e ainda assim decide como você vai escrever o primeiro. Saber que a execução acontece no servidor muda o que você confia ao navegador; saber que a tipagem é dinâmica muda o cuidado que você toma com o dado que chega de fora; e saber que as críticas mais repetidas descrevem uma versão aposentada da linguagem poupa muita discussão inútil. O caminho agora é ver de onde essa linguagem veio — porque boa parte das esquisitices que você vai encontrar só faz sentido à luz da história dela.

Fontes e leituras recomendadas

Exercícios

Exercício 1

Um colega guarda a chave da API de pagamento numa constante do JavaScript e argumenta: "é o mesmo que fazer em PHP, o usuário não vai olhar". Explique por que não é o mesmo.

Ver resposta

✓ Resposta: A diferença não é de opinião, é de onde o código roda. O JavaScript da página é baixado pelo navegador para ser executado lá — o arquivo inteiro está na máquina do usuário, e basta abrir as ferramentas do desenvolvedor, ou a aba de rede, para ler qualquer valor dentro dele. Minificar não esconde nada: é só texto embaralhado. Já o PHP é executado no servidor e nunca sai de lá; o navegador recebe apenas o resultado, em geral HTML. Se a chave está numa variável PHP, o usuário não tem como alcançá-la, porque não tem como alcançar o código. O teste mental que resolve a discussão é este: o que o usuário recebe é o programa ou é a saída do programa? No navegador, ele recebe o programa. E o agravante é que uma chave exposta assim não fica só à vista de quem procura — rastreadores varrem repositórios e bundles públicos justamente atrás desse padrão, e a chave costuma ser usada antes de alguém perceber. Quando o front-end precisa mesmo falar com o serviço, a saída é o servidor intermediar a chamada, ou emitir um token de curta duração e escopo restrito, que é feito para ser público.

Exercício 2

"PHP é lento" — o artigo responde que o PHP 8 tem JIT. Se você ligar o JIT na sua aplicação web, o que espera medir? E o que realmente costuma acelerar um site em PHP?

Ver resposta

✓ Resposta: Espere medir quase nada — e essa é a resposta que separa quem leu a manchete de quem entendeu o mecanismo. O JIT compila trechos quentes para código de máquina, e brilha em carga limitada por CPU: laços numéricos longos, processamento de imagem, cálculo matemático. Uma aplicação web típica não é isso: ela passa a maior parte do tempo esperando — o banco responder, o disco ler, a API externa voltar. Acelerar a parte que não era o gargalo não muda o tempo total. O que de fato acelera um site em PHP é o OPcache, e ele é anterior ao JIT: sem ele, cada requisição recompila todos os arquivos .php do zero, todas as vezes; com ele, o bytecode fica em memória compartilhada e a recompilação some. Em produção, opcache.validate_timestamps=0 ainda evita que o PHP verifique a data de cada arquivo a cada requisição (ao custo de exigir recarga do FPM no deploy). Depois disso, os ganhos reais estão fora da linguagem: índice no banco, resolver o N+1 de consultas, cache de resultado, e não abrir conexão nova a cada chamada. Ligar o JIT antes de ter OPcache configurado e consulta indexada é otimizar a etapa errada.

Exercício 3

O artigo diz que o PHP é dinamicamente tipado. Este código passa pelo interpretador sem reclamar nada. Qual é o problema, e como fechá-lo?

<?php
function calcularDesconto($preco, $percentual) {
    return $preco - ($preco * $percentual / 100);
}

echo calcularDesconto("199,90", "10");  // ?
Ver resposta

✓ Resposta: O resultado é 179.1 — e está errado, embora nada tenha falhado. A string "199,90" usa vírgula decimal, e o PHP, ao convertê-la para número, lê os dígitos até o primeiro caractere inválido: vira 199, e os centavos desaparecem em silêncio. Esse é o custo real da tipagem dinâmica: o erro não aparece onde foi cometido, e sim várias camadas adiante, quando alguém percebe que o total do relatório não fecha. Fechar o buraco tem duas partes. A primeira é declarar os tipos na assinatura: function calcularDesconto(float $preco, float $percentual): float. A segunda, sem a qual a primeira engana, é declare(strict_types=1); no topo do arquivo — sem ele o PHP ainda coage a string para float e o defeito continua, apenas mais escondido; com ele, a chamada lança TypeError na hora. O terceiro cuidado é converter na fronteira: dado que chega de formulário é sempre string, e a conversão de "199,90" para 199.90 é trabalho de quem recebe a entrada, não da função de cálculo. E, para valor monetário, o mais seguro é nem usar float: trabalhar em centavos inteiros evita que 0.1 + 0.2 deixe de ser 0.3.

Exercício 4

O artigo informa que o WordPress move cerca de 43% dos sites do mundo. Traduza esse número em consequência prática para quem está aprendendo PHP agora.

Ver resposta

✓ Resposta: A consequência é que a maior parte das vagas de PHP é de manutenção, não de criação — e isso muda o que vale a pena estudar. Um mercado formado por milhões de instalações de WordPress, Magento e sistemas internos antigos demanda, no dia a dia, ler código que você não escreveu, entender uma base legada sem documentação, migrar versão, corrigir falha de segurança e integrar com o que já existe. É um tipo de competência diferente da de começar um projeto do zero com o framework da moda, e costuma ser mal preparada pelos cursos, que só ensinam a partir da folha em branco. Há duas leituras erradas comuns. A primeira é concluir que basta aprender WordPress: quem só sabe o plugin, e não a linguagem embaixo dele, trava no primeiro problema que não está no painel. A segunda é desprezar o legado como se fosse trabalho menor — é onde está o dinheiro, e onde se aprende mais rápido, porque sistema em produção ensina com consequência. A leitura útil é: aprender PHP de verdade dá acesso tanto ao ecossistema moderno (Laravel, APIs, filas) quanto a essa base instalada gigantesca, e quem transita nos dois lados é raro.

Exercício 5

Desafio: uma cliente quer um sistema de reservas para três salas, com agenda, e-mail de confirmação e relatório mensal. Prazo curto, um desenvolvedor, hospedagem compartilhada. Defenda a escolha do PHP — e diga em que cenário você mudaria de ideia.

Ver resposta

✓ Resposta: Para esse caso o PHP é a escolha mais fácil de defender, e o argumento decisivo é a hospedagem: o requisito "compartilhada" praticamente elimina as alternativas. Um plano compartilhado já vem com PHP, Apache ou Nginx, MySQL e envio de e-mail configurados; o deploy pode ser um git pull, e não há processo para manter vivo, nem supervisor, nem contêiner. Rodar Node, Python ou Go no mesmo plano costuma exigir VPS, o que muda o custo e adiciona administração de servidor a um projeto de um desenvolvedor só. Os demais requisitos reforçam: reserva de sala é CRUD com regra de conflito de horário, relatório mensal é consulta agregada, e-mail é tarefa resolvida — Laravel entrega autenticação, validação, agendador e envio de e-mail prontos, e o prazo curto é exatamente o cenário em que framework maduro vale mais que preferência pessoal. Eu mudaria de ideia em três situações, todas sobre o modelo de execução: se a agenda precisasse ser colaborativa em tempo real, com várias pessoas vendo a mesma tela atualizar (conexão persistente não combina com o processo-por-requisição); se houvesse processamento pesado e contínuo, como transcodificar vídeo, que ocuparia os workers do FPM; ou se a equipe que vai manter já dominasse outra stack — a linguagem que o time sabe manter costuma vencer a que é tecnicamente marginalmente melhor.

Comentários

Mais em PHP

Exceções Avançadas
Exceções Avançadas

Uma hierarquia de exceções bem desenhada diz ao chamador o que ele pode tratar…

Interfaces Avançadas
Interfaces Avançadas

Interface é contrato, e contrato tem regras que vão além de listar métodos…

Strings em Profundidade
Strings em Profundidade

Texto em PHP é sequência de bytes, e é dessa decisão que vêm quase todas as…