Académique Documents
Professionnel Documents
Culture Documents
Novatec
Authorized Portuguese translation of the English edition of titled Modern PHP, ISBN 9781491905012 © 2015 Josh
Lockhart. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to
publish and sell the same.
Tradução em português autorizada da edição em inglês da obra Modern PHP, ISBN 9781491905012 © 2015 Josh
Lockhart. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., detentora de todos os
direitos para publicação e venda desta obra.
Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo
parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.
ISBN: 978-85-7522-428-1
Histórico de impressões:
Abril/2015 Primeira edição
O novo PHP
Passado
Antes de explorarmos o PHP moderno, é importante entender a origem do PHP.
O PHP é uma linguagem de scripting interpretada, usada no lado do servidor. Isso
significa que você escreve código PHP, carrega-o em um servidor web e executa-o
com um interpretador. O PHP normalmente é usado com um servidor web como o
Apache ou o nginx para servir conteúdo dinâmico. Entretanto o PHP também pode
ser usado para criar aplicações eficazes de linha de comando (assim como o bash,
o Ruby, o Python e assim por diante). Muitos desenvolvedores PHP não percebem
isso e deixam de lado um recurso realmente empolgante. Mas não é o seu caso.
A história oficial do PHP pode ser lida em http://php.net/manual/history.php.php. Não
repetirei o que já foi muito bem dito por Rasmus Lerdorf (o criador do PHP). O
que direi é que o PHP tem um passado tumultuado. Essa linguagem começou
22
Capítulo 1 ■ O novo PHP 23
como uma coleção de scripts CGI criada por Rasmus Lerdorf para monitorar as
visitas ao seu currículo online. Lerdorf chamou seu conjunto de scripts CGI de
“Personal Home Page Tools”. Essa versão preliminar era totalmente diferente do
PHP que conhecemos hoje. O PHP Tools inicial de Lerdorf não era uma linguagem
de scripting; eram ferramentas que ofereciam variáveis rudimentares e interpreta-
ção automática de variáveis de formulário usando uma sintaxe HTML embutida.
Entre 1994 e 1998, o PHP passou por inúmeras revisões e houve até mesmo algu-
mas reescritas completas. Andi Gutmans e Zeev Suraski – dois desenvolvedores
de Tel Aviv – juntaram suas forças com Rasmus Lerdorf para transformar o PHP,
partindo de uma pequena coleção de ferramentas CGI para uma linguagem de
programação completa, com uma sintaxe mais consistente e um suporte básico
para programação orientada a objetos. Eles chamaram seu produto final de PHP
3 e o disponibilizaram no final de 1998. O novo nome PHP originou-se de nomes
anteriores, e é um acrônimo recursivo para PHP: Hypertext Preprocessor. O PHP
3 foi a primeira versão que mais lembrava o PHP que conhecemos atualmente.
Essa versão oferecia mais capacidade de extensão para diversos bancos de dados,
protocolos e APIs. A capacidade de extensão do PHP 3 atraiu muitos novos desen-
volvedores ao projeto. No final de 1998, o PHP 3 já estava instalado em incríveis
10% dos servidores web no mundo.
Presente
Hoje em dia, a linguagem PHP está evoluindo rapidamente, e seu suporte é feito
por dezenas de desenvolvedores que fazem parte da equipe que trabalha com o
seu núcleo em todo o mundo. As práticas de desenvolvimento também mudaram.
No passado, uma prática comum consistia em criar um arquivo PHP, carregá-lo
em um servidor de produção por meio de FTP e esperar que ele funcionasse. É
uma péssima estratégia de desenvolvimento, porém era necessária devido à falta
de ambientes viáveis para desenvolvimento local.
Atualmente, evitamos usar o FTP e utilizamos um sistema de controle de versões
em seu lugar. Softwares de controle de versões como o Git ajudam a manter um
histórico de código que possa ser auditado, além de ser possível criar branches,
fazer forks e merges. Os ambientes de desenvolvimento locais são idênticos aos
servidores de produção, graças às ferramentas de virtualização como o Vagrant
e ferramentas de configuração como o Ansible, Chef e Puppet. Podemos tirar
proveito de componentes PHP especializados com o gerenciador de dependências
Composer. Nosso código PHP é aderente aos PSRs – padrões da comunidade
24 PHP Moderno
Futuro
A Zend Engine está melhorando a passos rápidos, com novos recursos e desem-
penho aprimorado. Atribuo as melhorias da Zend Engine ao seus novos concor-
rentes, especificamente à HipHop Virtual Machine e à linguagem de programação
Hack do Facebook.
O Hack é uma nova linguagem de programação criada com base no PHP. Ela
introduz tipagem estática, novas estruturas de dados e interfaces adicionais, ao
mesmo tempo em que mantém a compatibilidade com versões anteriores de có-
digo PHP existente, com tipagem dinâmica. O Hack visa aos desenvolvedores que
apreciam as características de desenvolvimento rápido do PHP, mas que precisam
da previsibilidade e da estabilidade da tipagem estática.