Programação para Internet II 2.1. PHP - Introdução Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt
Um pouco de história Inicialmente, as páginas dinâmicas eram construídas em C. O C não foi desenvolvido para lidar com páginas web, pelo que não possuía qualquer tipo de suporte para as funcionalidades mais básicas, tinha que ser tudo feito de raíz. Por exemplo para obter os valores dos parâmetros passados teria que ser desenvolvido um parser... nome=joao&apelido=pestana Posteriormente surgiu o Perl. Já com algumas funcionalidades específicas para o desenvolvimento de páginas web... (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 2
O Perl continuava no entanto a ser demasiado complexo. Uma das características do Perl é o facto de à semelhanças das Servlets, o HTML estar dentro do código. Em 1994 surgiu a primeira versão do PHP pela mão de Rasmus Lerdorf A ideia na altura era ter o mínimo de lógica possível A principal característica do PHP era o facto de ter a lógica embebida no HTML e não o contrário... (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 3
A primeira versão PHP/FI (Personal Home Page / Form Interpreter) conseguiu de imediato arranjar alguns seguidores Posteriormente, Zeev Suraski e Andi Gutmans reescreveram o PHP de raiz e surgiu assim a versão 3 Foram corrigidos diversos erros da versão anterior e acrescentadas muitas novas funcionalidades A rescrita total teve como principal consequência o facto de muito do código escrito para PHP/FI deixar de funcionar em PHP3... O PHP3 tinha inclusivamente comportamento de linguagem orientada a objectos (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 4
Quando em meados de 2000 a versão 3 deu lugar à versão 4, existiam cerca de 2.500.000 sites construídos com base nesta linguagem Foi feito um grande esforço no sentido de manter a retrocompatibilidade (ou seja, a compatibilidade entre PHP4 e PHP3) A principal novidade do PHP4 é o Zend engine que mais não é do que o núcleo do PHP optimizado para fazer uma melhor gestão dos recursos, nomeadamente, da memória Outra novidade foi o facto de poder usar PHP sobre os mais diversos web servers (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 5
Passou-se de um paradigma "execute while interpreting em que o código era lido e executado linha a linha para um paradigma "compile first, execute later" em que o código é todo lido, interpretado e só posteriormente executado Este facto trouxe um aumento de desempenho de cerca de 100% Passou igualmente a ser possível fazer uso do código já compilado em cache para aumentar o desempenho Uma novidade foi a introdução de multi-threading, particularmente útil para permitir ter processos a correr em paralelo (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 6
Nos dias que correm o PHP assume-se como uma das linguagens de programação para web mais difundidas, permitindo desenvolver desde uma simples página pessoal até complexos sistemas de informação empresariais A mais recente versão do PHP, a versão 5, apresentase como um grande salto face à versão anterior, no entanto, as mudanças não são tão consideráveis como o que aconteceu com a transição entre a versão 3 e 4. Assume-se como uma linguagem mais madura uma vez que foram corrigidos muitos problemas que ocorriam na versão anterior. (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 7
Foram igualmente introduzidas diversas novas funcionalidades...... Nomeadamente, no que respeita ao desenvolvimento orientado a objectos. Existe também a capacidade de fazer tratamento de erros do tipo try...catch......e ainda mais e melhores formas de trabalhar com XML, MySQL, etc. E acima de tudo, apresentou-se desde o inicio como uma linguagem estável. (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 8
Vantagens do PHP A relação com o HTML Como acontece com qualquer tecnologia de suporte à criação de páginas web, os resultados são apresentados em HTML. O PHP está dentro do HTML e não o contrário, como acontece com o Perl e as Servlets. O que torna o código muito mais legível Torna-se muito fácil usar ambientes de desenvolvimento gráficos (Dreamweaver, FrontPage, etc.) para desenvolver sites em PHP Embora o código PHP esteja embebido no HTML, o cliente final (browser) apenas receberá HTML, todo o PHP é executado no servidor (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 9
Vantagens do PHP (cont.) Interpretação vs. compilação Em PHP o código não é compilado como acontece por exemplo em Java, C, etc. Em vez disso, o código é interpretado de cada vez que a página é chamada. Tal pode ter algum impacto no tempo de processamento das páginas, no entanto, torna muito mais fácil a vida a quem desenvolve, uma vez que não tem que se preocupar em compilar os ficheiros. Permite-se ainda que seja feita uma gestão de memória eficaz, assim que um script é executado, são apagadas todas as referências nele usadas Existem aceleradores de PHP que permitem acelerar o processo de interpretação (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Programação para a Internet II 10