Poucas linguagens de programação têm uma origem tão humana quanto o PHP. Ela não nasceu em um laboratório de pesquisa nem foi projetada por um comitê. Nasceu de uma necessidade pessoal, cresceu de forma orgânica, e a cada crise de identidade — e houve várias — se reinventou. Entender essa história não é apenas curiosidade: é compreender por que a linguagem tem certas características, por que algumas decisões foram tomadas, e por que o PHP moderno é tão diferente do PHP que seus críticos conhecem.
1994 — O começo: um script para rastrear visitas
Em 1994, Rasmus Lerdorf, um programador dinamarquês-canadense, queria saber quantas pessoas estavam acessando seu currículo online. Para isso, escreveu um conjunto de scripts em Perl que registravam as visitas. Logo percebeu que seria mais prático reescrevê-los em C, criando uma camada que se encaixasse diretamente no servidor web Apache.
Esse conjunto de ferramentas ele chamou de Personal Home Page Tools — as PHP Tools. Não havia intenção de criar uma linguagem de programação. Era uma coleção utilitária, pragmática, feita para resolver um problema imediato. Em 1995, Lerdorf lançou o código publicamente, e a comunidade de desenvolvedores web da época, ávida por ferramentas que facilitassem a criação de páginas dinâmicas, adotou as PHP Tools rapidamente.
1997–1998 — PHP 3: a primeira linguagem de verdade
Dois programadores israelenses, Zeev Suraski e Andi Gutmans, encontraram as PHP Tools enquanto tentavam desenvolver um sistema de e-commerce para um projeto universitário. As ferramentas de Lerdorf não eram suficientes, então decidiram reescrever o núcleo do sistema do zero. O resultado foi uma linguagem muito mais robusta: suporte a múltiplos bancos de dados, sintaxe mais consistente e arquitetura extensível.
Em colaboração com Lerdorf, lançaram o PHP 3 em 1998. Foi nessa versão que o acrônimo ganhou seu novo significado recursivo: PHP: Hypertext Preprocessor. Ao final de 1998, estima-se que cerca de 10% de todos os servidores web da internet já rodavam PHP.
2000 — PHP 4 e a explosão do LAMP
Suraski e Gutmans não pararam. Reescreveram o motor de execução do PHP, criando o Zend Engine (o nome vem da junção de Zeev e Andi). O PHP 4, lançado em 2000, trouxe performance muito superior, suporte a sessões, bufferização de saída e melhor suporte a orientação a objetos — ainda que incompleto.
Foi durante a era do PHP 4 que a linguagem explodiu em popularidade. A facilidade de hospedar PHP em servidores compartilhados baratos, combinada com o MySQL como banco de dados gratuito, criou o famoso stack LAMP (Linux, Apache, MySQL, PHP). Milhares de sistemas foram construídos nesse período.
Foi também nessa época que práticas questionáveis se espalharam. A facilidade de uso atraiu muitos programadores sem formação formal, que criavam código sem segurança, sem estrutura e sem manutenibilidade. Essa herança manchou a reputação da linguagem por anos — e é, em grande parte, a origem das críticas que ainda circulam hoje.
2004 — PHP 5 e a maturidade orientada a objetos
O PHP 5, lançado em 2004 com o Zend Engine 2, foi uma virada de chave. Trouxe um modelo de orientação a objetos completo e bem projetado: classes, interfaces, herança, métodos abstratos, modificadores de acesso (public, protected, private), exceções com try/catch, e muito mais.
Foi no PHP 5 que frameworks sérios começaram a surgir — Zend Framework, CodeIgniter, CakePHP, Symfony. O PHP passou a ser usado em projetos corporativos de maior porte, e a comunidade começou a discutir padrões, boas práticas e arquitetura de software.
O PHP 5 teve uma vida longa, com versões menores trazendo melhorias contínuas. A versão 5.3 introduziu namespaces e closures. A 5.4 trouxe traits. A 5.5, generators. Cada versão tornava a linguagem mais expressiva e poderosa.
2015 — PHP 7: a ressurreição
Por razões históricas complexas — uma versão PHP 6 foi abandonada após anos de desenvolvimento sem conseguir implementar suporte nativo a Unicode de forma satisfatória —, a versão seguinte ao PHP 5 foi chamada de PHP 7, lançada em dezembro de 2015.
O impacto foi dramático. O PHP 7 trouxe o novo Zend Engine 3, com ganhos de performance de até 100% em relação ao PHP 5.6 em benchmarks reais. De repente, aplicações rodavam duas vezes mais rápido sem nenhuma mudança no código.
Além da performance, o PHP 7 introduziu declarações de tipo para parâmetros e retorno de funções, o operador spaceship (<=>), o operador null coalescing (??), classes anônimas e muito mais. A linguagem crescia com coerência e direção clara.
2020 em diante — PHP 8 e a linguagem moderna
O PHP 8.0, lançado em novembro de 2020, é possivelmente a versão mais importante da história da linguagem. Ele introduziu o JIT (Just-In-Time compiler), que compila partes do código em tempo de execução, trazendo ganhos de performance em workloads específicos.
Mas mais que o JIT, o PHP 8 trouxe mudanças de linguagem que transformaram a forma de escrever código:
- Match expressions — alternativa mais segura e expressiva ao
switch - Named arguments — passagem de argumentos pelo nome, não pela posição
- Constructor property promotion — reduz drasticamente o boilerplate em classes
- Union types e Nullsafe operator — sistema de tipos mais expressivo
- Attributes — metadados nativos
- Fibers (PHP 8.1) — programação assíncrona nativa
- Enums (PHP 8.1) — enumerações nativas
- Readonly properties (PHP 8.1/8.2) — imutabilidade no nível da linguagem
- Lazy objects (PHP 8.4) — instanciação adiada para performance
Veja como o PHP evoluiu em expressividade. O mesmo conceito, escrito em PHP 5 e em PHP 8:
<?php
// ── PHP 5: muito boilerplate ──────────────────────────────────────
class Usuario {
private string $nome;
private string $email;
public function __construct(string $nome, string $email) {
// Precisávamos atribuir cada propriedade manualmente
$this->nome = $nome;
$this->email = $email;
}
public function getNome(): string { return $this->nome; }
public function getEmail(): string { return $this->email; }
}
// ── PHP 8: constructor promotion + readonly ───────────────────────
class Usuario {
// O PHP 8 cria, atribui e torna imutável em uma única linha
public function __construct(
public readonly string $nome,
public readonly string $email,
) {}
}
// O resultado final é idêntico — mas o código PHP 8 é limpo e direto
$u = new Usuario('Ana', 'ana@email.com');
echo $u->nome; // Ana
A diferença não é apenas visual — é filosófica. O PHP 8 remove o ruído e deixa a intenção do código falar por si mesma.
A linha do tempo completa
| Versão | Ano | Marco principal |
|---|---|---|
| PHP Tools | 1994 | Scripts pessoais de Rasmus Lerdorf |
| PHP 2 | 1997 | Formulários, comunicação com bancos de dados |
| PHP 3 | 1998 | Primeira linguagem de verdade — Suraski & Gutmans |
| PHP 4 | 2000 | Zend Engine 1, explosão do stack LAMP |
| PHP 5 | 2004 | OOP completa, frameworks sérios surgem |
| PHP 7 | 2015 | Zend Engine 3, performance 2x, tipagem |
| PHP 8.0 | 2020 | JIT, match, named args, attributes |
| PHP 8.1 | 2021 | Enums, fibers, readonly, intersection types |
| PHP 8.2 | 2022 | Readonly classes, DNF types, true/false/null types |
| PHP 8.3 | 2023 | Typed class constants, json_validate(), melhorias em readonly |
| PHP 8.4 | 2024 | Property hooks, lazy objects, melhorias em arrays |
O que essa história nos ensina
A trajetória do PHP é uma lição sobre evolução pragmática. A linguagem nunca foi projetada de cima para baixo com perfeição acadêmica — ela cresceu respondendo a necessidades reais, cometeu erros, aprendeu com eles e se reinventou. Quem a critica com base no PHP de 2003 está cometendo o mesmo erro de julgar um arquiteto pelo primeiro rabisco que fez aos vinte anos.
Aprender PHP hoje significa aprender uma linguagem moderna, com décadas de lições incorporadas em seu design. E significa também entender um ecossistema enorme de sistemas existentes que precisam de profissionais qualificados.
Resumo
| Período | O que aconteceu |
|---|---|
| 1994–1997 | Scripts pessoais viram ferramenta pública |
| 1998–2003 | PHP 3/4 — explosão de popularidade e problemas de qualidade |
| 2004–2014 | PHP 5 — maturidade OOP, frameworks, comunidade organizada |
| 2015–2019 | PHP 7 — ressurreição: performance e tipagem moderna |
| 2020–hoje | PHP 8 — linguagem moderna, expressiva e competitiva |
Referências e leituras para aprofundar
-
Manual oficial do PHP — Histórico de versões e changelogs completos: https://www.php.net/ChangeLog-8.php
-
"PHP: a fractal of bad design" — O artigo crítico mais famoso sobre PHP, escrito em 2012 (baseado no PHP 5). Vale ler para entender as críticas históricas e avaliar quais ainda se aplicam: https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
-
"PHP in 2024" — Resposta moderna às críticas, com dados atualizados: https://stitcher.io/blog/php-in-2024
-
Zeev Suraski — The Secret History of PHP — Palestra do cocriador do Zend Engine contando a história em primeira pessoa (YouTube): https://www.youtube.com/watch?v=APoz6nEJpyI
-
LERDORF, Rasmus. "PHP/FI — Personal Home Page / Forms Interpreter" — O anúncio original de 1995 na Usenet, disponível em: https://groups.google.com/g/comp.infosystems.www.authoring.cgi/c/PyJ25gZ6z7A
-
TATROE, K.; MACINTYRE, P. Programming PHP, 4ª ed. O'Reilly Media, 2020. Capítulo 1: History of PHP. Disponível em: https://www.oreilly.com/library/view/programming-php-4th/9781492054122/