Ir para o conteúdo principal
BiografiaHistória da informáticaIniciante

Rasmus Lerdorf: PHP e a democratização da Web dinâmica

Descubra como as ferramentas pessoais de Rasmus Lerdorf se tornaram PHP e depois uma linguagem coletiva que tornou a Web dinâmica acessível a milhões de criadores.

Publicado 24 de agosto de 2026Leitura : 9 minPor Yann Bastien
Retrato de Rasmus Lerdorf diante de uma página Web que combina HTML, PHP e acesso a uma base de dados
Mostrar índice
  1. Da Gronelândia à engenharia de sistemas
  2. Personal Home Page Tools: medir e automatizar
  3. Integrar o programa na página
  4. PHP/FI 2: da caixa de ferramentas à linguagem
  5. PHP 3: a reescrita que mudou a escala do projeto
  6. O modelo de pedido que simplificou a implementação
  7. Zend Engine e a transformação numa plataforma
  8. LAMP: uma pilha acessível para publicar uma ideia
  9. Uma conceção guiada por casos reais
  10. Segurança: a facilidade não elimina fronteiras de confiança
  11. Dos frameworks à profissionalização do ecossistema
  12. Lerdorf depois da criação inicial
  13. Porque Rasmus Lerdorf continua a ser importante
  14. Cronologia
  15. Perguntas frequentes
  16. Rasmus Lerdorf pretendia criar uma linguagem de programação?
  17. Rasmus Lerdorf criou sozinho o PHP moderno?
  18. O que significa PHP atualmente?
  19. Porque se difundiu tanto o PHP?
  20. O PHP serve apenas para pequenos sites?

Rasmus Lerdorf não começou o PHP com a ambição de criar uma grande linguagem de programação generalista. Em 1994, queria saber quem visitava o seu currículo online, reutilizar fragmentos de páginas e processar mais facilmente os formulários da Web nascente. Para isso, escreveu programas em C executados pelo servidor.

Milhares de criadores encontraram rapidamente a mesma necessidade: gerar uma página em função de um pedido, guardar uma entrada ou consultar uma base de dados sem construir toda uma infraestrutura em C ou coordenar vários scripts Perl separados.

O PHP tornou-se influente precisamente porque reduziu a distância entre HTML e comportamento. A sua história mostra também que uma ferramenta pessoal só se torna uma plataforma mundial ao mudar de escala e de autores. A partir do PHP 3, Andi Gutmans, Zeev Suraski e uma vasta comunidade reescreveram e ampliaram profundamente o projeto original de Lerdorf.

Da Gronelândia à engenharia de sistemas

Lerdorf nasceu em 1968 na Gronelândia, numa família dinamarquesa, e cresceu depois na Dinamarca e no Canadá. Estudou engenharia de conceção de sistemas na Universidade de Waterloo, concluindo o curso em 1993.

A jovem Web servia sobretudo documentos HTML estáticos. As respostas dinâmicas recorriam à Common Gateway Interface (CGI), que iniciava um programa externo e lhe transmitia os dados do pedido. CGI era poderosa, mas técnica: os programadores tinham de analisar parâmetros, produzir cabeçalhos HTTP, escapar HTML e ligar manualmente ficheiros ou bases de dados. Lerdorf concentrou-se em eliminar esse trabalho repetitivo.

Personal Home Page Tools: medir e automatizar

Em 1994, Lerdorf escreveu em C vários binários CGI para o seu site pessoal. Registavam visitas ao currículo e ajudavam a reutilizar elementos de página. Chamou-lhes Personal Home Page Tools.

Acrescentou depois o processamento de formulários, permitindo recuperar valores enviados pelo navegador e criar livros de visitas, apresentar dados ou adaptar páginas sem escrever um programa CGI completo para cada ação. Em junho de 1995 publicou o código-fonte, permitindo aos utilizadores instalar, corrigir e ampliar as ferramentas.

Nomes como PHP Tools, Forms Interpreter e Personal Home Page Construction Kit refletem a evolução do projeto: de ferramentas para acompanhar um site pessoal para uma linguagem de scripting integrada no HTML.

Integrar o programa na página

A inovação prática do PHP/FI consistia em colocar instruções dinâmicas diretamente no HTML. O servidor interpretava essas zonas e enviava ao navegador apenas o resultado.

<h1>Olá <?= htmlspecialchars($name) ?></h1>

Os programadores podiam começar com uma página normal e acrescentar uma condição, um valor de formulário ou um resultado de base de dados exatamente onde deveria aparecer. Isto tornava muito rápido obter um primeiro resultado.

O modelo cria, porém, um risco arquitetural: quando acesso aos dados, regras de negócio e apresentação se acumulam na mesma página, os testes e a manutenção tornam-se difíceis. Os frameworks introduziriam mais tarde separações mais claras, sem apagar a vantagem inicial: o PHP encontrava os criadores de páginas dentro do ficheiro que já utilizavam.

PHP/FI 2: da caixa de ferramentas à linguagem

Em 1996, Lerdorf reuniu e reescreveu as ferramentas como PHP/FI 2.0, agora com variáveis, funções definidas pelo utilizador, condições, ciclos, cookies e ligações integradas a várias bases de dados.

A sintaxe inspirada em C e Perl era familiar para programadores Unix. Os dados dos formulários eram facilmente acessíveis e operações comuns da Web estavam disponíveis através de funções prontas a usar.

À medida que as aplicações cresceram, a arquitetura desenvolvida em grande parte por uma só pessoa atingiu os seus limites. Lerdorf não defendeu cada detalhe como intocável: aceitou uma reescrita quando surgiu uma implementação melhor. Essa abertura foi tão importante para a sobrevivência do PHP como o código inicial.

PHP 3: a reescrita que mudou a escala do projeto

Em 1997, os estudantes israelitas Andi Gutmans e Zeev Suraski encontraram limitações do PHP/FI numa aplicação de comércio eletrónico e começaram a reescrever o parser. Contactaram Lerdorf e os três colaboraram numa linguagem que preservava os utilizadores e a abordagem do PHP/FI, acrescentando sintaxe mais coerente, extensibilidade, suporte inicial a objetos e módulos para bases de dados, protocolos e APIs.

PHP passou a significar o acrónimo recursivo PHP: Hypertext Preprocessor. O PHP 3.0 foi publicado em junho de 1998 por uma equipa internacional. Lerdorf forneceu a origem e a direção pragmática; Gutmans, Suraski e muitos colaboradores construíram a plataforma extensível. Os créditos oficiais distinguem responsabilidades por motores, APIs, drivers e bibliotecas.

O modelo de pedido que simplificou a implementação

Historicamente, o PHP carrega o contexto necessário para cada pedido, produz uma resposta e depois liberta a maior parte do estado. Os dados persistentes residem numa base de dados, ficheiro, cache ou sessão externa.

Este modelo isola pedidos e permite aos servidores distribuir trabalho entre processos. O arranque repetido tem um custo, compensado pela integração com servidores, caches de opcode e otimizações do motor. Workers persistentes, WebSockets e tarefas assíncronas longas exigem mais cuidado porque se afastam do ciclo sem estado que moldou muitas bibliotecas PHP.

Parte do sucesso inicial resultou do alinhamento com a estrutura concreta de um pedido HTTP e da respetiva resposta, em vez de impor à Web um modelo geral de aplicação.

Zend Engine e a transformação numa plataforma

Depois do PHP 3, Gutmans e Suraski reescreveram novamente o núcleo. O Zend Engine, cujo nome deriva dos seus primeiros nomes, tornou-se a base do PHP 4 em 2000. PHP 5 e Zend Engine II reforçaram o modelo de objetos, as exceções e as interfaces com bases de dados.

Versões posteriores introduziram namespaces, traits, geradores, melhorias de tipagem, grandes ganhos de desempenho no PHP 7 e, no PHP 8, atributos, union types e compilação JIT. Lerdorf continuou a ser um colaborador e divulgador importante, sobretudo em desempenho e segurança, mas deixou de ser o arquiteto único.

A sucessão de motores e equipas demonstra um princípio do código aberto: o criador pode dar o impulso sem se tornar o gargalo de todas as funcionalidades futuras.

LAMP: uma pilha acessível para publicar uma ideia

O PHP difundiu-se com Linux, Apache e MySQL ou PostgreSQL, combinação mais tarde resumida pelo acrónimo LAMP.

Os alojamentos partilhados podiam oferecer a cada cliente uma diretoria onde colocar ficheiros PHP, sem exigir a administração de um processo de aplicação permanente. WordPress, Drupal, Joomla, fóruns e lojas multiplicaram essa acessibilidade. A disponibilidade por defeito, exemplos fáceis de copiar e bases de dados comuns foram tão importantes como a sintaxe.

O resultado foi também um enorme legado: os alojamentos mantêm várias versões, aplicações antigas atrasam migrações e uma vulnerabilidade num módulo popular pode afetar muitos sites.

Uma conceção guiada por casos reais

Lerdorf descreve frequentemente o PHP como uma ferramenta construída para resolver problemas, e não como uma linguagem derivada de um grande plano teórico. As funções surgiam porque os sites precisavam de descodificar pedidos, produzir imagens ou comunicar com bases de dados.

Esse pragmatismo explica tanto a força como a irregularidade histórica. Nomes de funções, ordem dos argumentos e valores devolvidos nem sempre seguem uma regra uniforme, porque diferentes bibliotecas foram integradas em épocas distintas por autores diferentes, muitas vezes priorizando a compatibilidade.

Uma linguagem concebida inteiramente no papel poderia ter sido mais simétrica, mas talvez tivesse perdido o momento em que milhões de páginas precisavam de uma solução imediatamente instalável. O PHP moderno acrescenta APIs mais coerentes e descontinua comportamentos antigos, mas não pode renomear livremente décadas de código Web.

Segurança: a facilidade não elimina fronteiras de confiança

O acesso fácil aos valores dos pedidos por vezes incentivou misturas perigosas entre entradas do utilizador, SQL, caminhos de ficheiros ou comandos do sistema. Configurações antigas ofereciam também register_globals, que transformava parâmetros HTTP em variáveis globais e dificultava identificar a sua origem; as versões modernas removeram esse comportamento.

O problema geral não é uma incapacidade intrínseca do PHP para ser seguro, mas a confusão entre dados e instruções. Queries preparadas, escaping adequado ao contexto, validação, hashing de palavras-passe e permissões mínimas permitem criar aplicações robustas.

Dos frameworks à profissionalização do ecossistema

À medida que as aplicações cresceram, frameworks como Symfony e Laravel separaram routing, controladores, modelos, vistas e serviços, fornecendo injeção de dependências, migrações e proteções comuns.

O Composer organizou dependências no início da década de 2010, enquanto os padrões PHP-FIG harmonizaram autoloading, interfaces e estilo. Estas ferramentas respondem a uma escala diferente da de um único ficheiro PHP integrado em HTML.

O percurso do PHP vai, assim, da redução de formalidades à reintrodução deliberada de estrutura quando a complexidade a justifica. Maturidade significa preservar um ponto de entrada acessível sem fingir que uma única página serve para todos os sistemas.

Lerdorf depois da criação inicial

Lerdorf trabalhou em empresas Web como Yahoo!, WePay e Etsy, concentrando-se no desempenho, profiling e segurança de grandes plataformas, continuando simultaneamente a contribuir para a infraestrutura PHP.

As suas apresentações destacam o ecossistema mais do que o culto do criador. Publicou ferramentas para que outros as modificassem, aceitou a reescrita do PHP/FI e partilhou a conceção do PHP 3 em vez de preservar a sua implementação como definitiva.

A sua contribuição pessoal continua decisiva: percebeu cedo que a Web precisava de programação próxima da página e escolheu uma forma suficientemente acessível para ser copiada e adaptada.

Porque Rasmus Lerdorf continua a ser importante

O PHP permitiu a estudantes, associações, pequenas empresas e programadores individuais transformar documentos estáticos em aplicações baseadas em dados sem uma equipa de infraestrutura. O seu impacto inclui milhões de pequenas ideias que puderam ser publicadas.

A linguagem traz as marcas dessa abertura. A crítica à sua inconsistência histórica é válida, mas incompleta sem considerar o problema que resolveu. Lerdorf mostrou também como um criador pode permitir que um projeto se torne coletivo: PHP 3 e Zend são a base das versões que conquistaram a Web.

O princípio duradouro do PHP é que a tecnologia muda o mundo quando reduz o custo entre uma intenção e a sua publicação. O desafio seguinte é crescer sem perder a acessibilidade que a tornou útil.

Cronologia

  • 1968: Rasmus Lerdorf nasce na Gronelândia.
  • 1993: conclui Systems Design Engineering em Waterloo.
  • 1994: cria os primeiros binários CGI para o seu site.
  • Junho de 1995: publica o código-fonte das PHP Tools.
  • 1995: o projeto evolui através de Forms Interpreter e regressa ao nome PHP.
  • 1996: PHP/FI 2.0 torna-se uma linguagem integrada em HTML.
  • 1997: começa a reescrita do parser com Andi Gutmans e Zeev Suraski.
  • Junho de 1998: a equipa internacional publica PHP 3.
  • 2000: PHP 4 adota Zend Engine.
  • 2004: PHP 5 e Zend Engine II reforçam o modelo de objetos.
  • 2015: PHP 7 melhora fortemente o desempenho e o uso de memória.
  • 2020: PHP 8 acrescenta atributos, union types e compilação JIT.
  • Anos 2000–2020: Lerdorf continua a trabalhar em desempenho e segurança Web.

Perguntas frequentes

Rasmus Lerdorf pretendia criar uma linguagem de programação?

Não inicialmente. Criou ferramentas CGI para acompanhar visitas, reutilizar conteúdo e processar formulários. As necessidades dos utilizadores transformaram gradualmente o conjunto de ferramentas numa linguagem.

Rasmus Lerdorf criou sozinho o PHP moderno?

Não. Criou PHP Tools e PHP/FI e colaborou no PHP 3. Andi Gutmans e Zeev Suraski reescreveram o parser e conceberam Zend; muitos colaboradores construíram as versões e extensões modernas.

O que significa PHP atualmente?

Significa PHP: Hypertext Preprocessor, um acrónimo recursivo. O original “Personal Home Page Tools” tornou-se demasiado limitado quando o projeto cresceu para uma linguagem geral do lado do servidor.

Porque se difundiu tanto o PHP?

Acrescentava comportamento ao HTML com pouca configuração, oferecia acesso direto a formulários e bases de dados e estava disponível em muitos alojamentos. Os CMS de código aberto multiplicaram o seu alcance.

O PHP serve apenas para pequenos sites?

Não. Frameworks, ferramentas de dependências, analisadores estáticos e melhorias do motor suportam grandes aplicações. O ponto de entrada simples não elimina a necessidade de arquitetura, testes e práticas de segurança à medida que os projetos crescem.

Este artigo foi útil?

Fontes e referências

  1. 1.PHP Manual - History of PHP
  2. 2.PHP Manual - PHP/FI Version 2.0 Documentation
  3. 3.PHP - Project Credits
  4. 4.Rasmus Lerdorf - 25 Years of PHP
  5. 5.University of Waterloo - Rasmus Lerdorf alumni profile

Coleção

Linguagens de programação

26 / 26

  1. 01Grace Hopper: dos primeiros compiladores ao COBOL
  2. 02John Backus: FORTRAN, a notação BNF e a recusa do código de máquina
  3. 03Dennis Ritchie: a linguagem C no coração do Unix
  4. 04FORTRAN: provar que um compilador pode competir com assembly
  5. 05A linguagem C: tornar os sistemas portáteis sem esconder a máquina
  6. 06Niklaus Wirth: de Pascal a Oberon, conceber pela simplicidade
  7. 07Bjarne Stroustrup: conceber C++ sem abdicar do desempenho
  8. 08Pascal: aprender a programar tornando a estrutura visível
  9. 09C++: de C with Classes ao C++ moderno
  10. 10Programação orientada a objetos: objetos, mensagens e abstrações reutilizáveis
  11. 11Guido van Rossum: criar Python para tornar o código legível
  12. 12Brendan Eich: JavaScript, do protótipo da Netscape ao padrão da Web
  13. 13James Gosling: o engenheiro na origem de Java
  14. 14Python: legibilidade, baterias incluídas e um ecossistema global
  15. 15Java: escrever uma vez, executar em qualquer lugar
  16. 16JavaScript: a linguagem que tornou a Web interativa
  17. 17Ken Thompson: de Unix a Go, a simplicidade como método
  18. 18John McCarthy: Lisp e a ideia de programar com símbolos
  19. 19Alan Kay: Smalltalk e o computador como meio pessoal
  20. 20Barbara Liskov: a abstração que tornou o software modular
  21. 21Robin Milner: ML, prova assistida e linguagens da interação
  22. 22Brian Kernighan: AWK, Unix e a arte de explicar código
  23. 23Anders Hejlsberg: de Turbo Pascal a C# e TypeScript
  24. 24Larry Wall: Perl, a linguagem que ligou as ferramentas da Internet
  25. 25Yukihiro Matsumoto: Ruby e a felicidade do programador
  26. 26Rasmus Lerdorf: PHP e a democratização da Web dinâmica
HistóriaHistória da informáticaIniciante

JavaScript: a linguagem que tornou a Web interativa

Do protótipo da Netscape ao ECMAScript, Ajax, Node.js e TypeScript: como o JavaScript se tornou a plataforma universal de programação da Web.

17 de agosto de 20267 min