A História do PHP: de script pessoal a pilar da web

Artigo 02 — A História do PHP: de script pessoal a pilar da web

Módulo 1 · Semana 2 · Nível: Iniciante


Introdução

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 era 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. 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 para o que precisavam, então decidiram reescrever o núcleo do sistema do zero.

O resultado foi uma linguagem muito mais robusta, com suporte a múltiplos bancos de dados, uma sintaxe mais consistente e uma arquitetura extensível. Em colaboração com Lerdorf, lançaram o PHP 3 em 1998. Foi nessa versão que o acrônimo ganhou um novo significado recursivo: PHP: Hypertext Preprocessor.

O PHP 3 foi um sucesso expressivo. Estima-se que, ao final de 1998, cerca de 10% de todos os servidores web da internet rodavam PHP.


2000 — PHP 4 e a explosão da popularidade

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 a ascensão do MySQL como banco de dados gratuito, criou o famoso stack LAMP (Linux, Apache, MySQL, PHP). Milhares de sistemas foram construídos nesse período, e o PHP se tornou sinônimo de desenvolvimento web acessível.

Foi também nessa época que práticas questionáveis se espalharam, pois 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.


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 começou a ser usado em projetos corporativos de maior porte, e a comunidade passou a discutir padrões, boas práticas e arquitetura de software.

O PHP 5 teve uma vida longa: durou mais de dez anos, com versões menores trazendo melhorias constantes. 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 estava crescendo com coerência e direção.


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 mudaram completamente a forma de escrever código:

  • Match expressions: uma alternativa mais segura e expressiva ao switch
  • Named arguments: permitem passar argumentos pelo nome, não pela posição
  • Constructor property promotion: reduz drasticamente o boilerplate em classes
  • Union types e Nullsafe operator: tornam o sistema de tipos mais expressivo
  • Attributes: metadados nativos, eliminando a necessidade de docblocks para isso
  • Fibers (PHP 8.1): permitem programação assíncrona de forma nativa
  • Enums (PHP 8.1): enumerações nativas, esperadas há anos pela comunidade
  • Readonly properties (PHP 8.1 e 8.2): imutabilidade no nível da linguagem

O PHP 8.3 e 8.4 continuaram refinando esses recursos, adicionando tipagem mais granular, melhorias em arrays, lazy objects e muito mais.


A linha do tempo em resumo

Versão Ano Marco principal
PHP Tools 1994 Scripts pessoais de Rasmus Lerdorf
PHP 3 1998 Primeira linguagem de verdade (Suraski & Gutmans)
PHP 4 2000 Zend Engine, explosão do LAMP stack
PHP 5 2004 OOP completa, frameworks sérios
PHP 7 2015 Performance 2x, tipagem, modernização
PHP 8 2020 JIT, match, enums, fibers, readonly

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 critica o PHP de hoje 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 em 2024 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

Saímos dos scripts pessoais de 1994, passamos pela explosão dos anos 2000, a maturidade do PHP 5, a ressurreição com o PHP 7 e chegamos ao PHP 8 moderno e elegante. Nos próximos artigos, vamos montar o ambiente de desenvolvimento e escrever nosso primeiro código.

No próximo artigo: Configurando o ambiente — PHP, editor, terminal e seu primeiro arquivo .php.



Artigo 02 — A História do PHP: de script pessoal a pilar da web

Módulo 1 · Semana 2 · Nível: Iniciante


Introdução

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


No próximo artigo: Configurando o ambiente de desenvolvimento — PHP, editor, terminal e seu primeiro arquivo .php rodando.


Gerando o HTML agora.

Artigo 02 entregue — texto acima e HTML aqui.

O que há de novo neste artigo:

  • Timeline visual no HTML — cada era do PHP com marcador destacado
  • Referências com URL visível tanto no texto quanto no HTML, todas clicáveis e categorizadas (Documentação, Vídeo, Artigo, Histórico, Livro)
  • Comparação de código PHP 5 vs PHP 8 com syntax highlight
  • Exercícios que conectam diretamente às referências