LP PHP
Faculdade
de Informática – FACCAT Faculdades de Taquara (FIT)
Cep 95600-000 – Taquara – RS – Brazil
carnage@faccat.br, jacksoncolombo@yahoo.com.br
Resumo. Neste trabalho faremos uma introdução a linguagem PHP, começando por um
breve histórico da linguagem, e demonstrando como foi sua evolução ao longo dos
anos, bem como seus principais aspectos, características e a sua aplicabilidade
atual.
1. Introdução
O PHP é uma linguagem
de script de uso-geral embutida em HTML, server-side (processada no servidor),
independente de plataforma, especialmente concebida para desenvolvimento Web;
Trataremos de seus aspectos gerais neste artigo.
2. Histórico
PHP, que significa
"PHP: Hypertext Preprocessor", é uma linguagem de programação de
ampla utilização, interpretada, que é especialmente interessante para
desenvolvimento para a Web e pode ser mesclada dentro do código HTML. A sintaxe
da linguagem lembra C, Java e Perl, e é fácil de aprender. O objetivo principal
da linguagem é permitir a desenvolvedores escrever páginas que serão geradas
dinamicamente rapidamente, mas você pode fazer muito mais do que isso com PHP.
O PHP sucede de um produto mais antigo, chamado PHP/FI. PHP/FI foi
criado por Rasmus Lerdorf em 1995, inicialmente como simples scripts Perl como
estatísticas de acesso para seu currículo online. Ele nomeou esta série de
script de 'Personal Home Page Tools'. Como mais funcionalidades foram
requeridas, Rasmus escreveu uma implementação C muito maior, que era capaz de
comunicar-se com base de dados, e possibilitava à usuários desenvolver simples
aplicativos dinâmicos para Web. Rasmus resolveu disponibilzar o código fonte do PHP/FI para que todos
pudessem ver, e também usá-lo, bem como fixar bugs e melhorar o código.
PHP/FI, que significa Personal Home
Page / Forms Interpreter, incluía algumas funcionalidades básicas do PHP que
nós conhecemos hoje. Ele usava variáveis no estilo Perl, interpretação
automática de variáveis vindas de formulário e sintaxe embutida no HTML. A sua
própria sintaxe era similar a do Perl, porém muito mais limitada, simples, e um
pouco inconsistente.
Em 1997, PHP/FI 2.0, a segunda
versão da implementação C, obteve milhares de usuários ao redor do mundo
(estimado), com aproximadamente 50,000 domínios reportando que tinha PHP/FI 2.0
instalado, agarinhando 1% dos domínios da Internet. Enquanto isto havia
milhares de pessoas contribuindo com pequenos códigos para o projeto, e ainda
assim
O PHP/FI 2.0 foi oficialmente
lançado somente em Novembro de 1997, após perder a maior parte de sua vida em
versões betas. Ele foi rapidamente substituído pelos alphas do PHP 3.0. PHP 3 é o sucessor do PHP/FI 2.0 e é muito
melhor. PHP 4 é a geração atual do PHP, que utiliza o mecanismo Zend como
infra-estrutura. PHP 5 é a nova versão (atualmente experimental) usando o
mecanismo Zend 2 que, entre outras coisas, oferece muitos recursos POO
adicionais..
2. Caracteristicas
Gerais
O PHP é focado para
ser uma linguagem de script do lado do servidor, portanto, você pode fazer
qualquer coisa que outro programa CGI pode fazer, como: coletar dados de
formulários, gerar páginas com conteúdo dinâmico ou enviar e receber cookies.
Mas o PHP pode fazer muito mais.
Script no lado do servidor
(server-side). Este é o mais tradicional e principal campo de atuação do PHP.
Você precisa de três coisas para seu trabalho. O interpretador do PHP (como CGI
ou módulo), um servidor web e um browser. Basta rodar o servidor web conectado
a um PHP instalado. Você pode acessar os resultados de seu programa PHP com um
browser, visualizando a página PHP através do servidor web. Todos eles podem
rodar na sua máquina, em casa, para você experimentar programação com o PHP.
Veja a seção das instruções de instalação para mais informações.
Script de linha de comando. Pode-se
fazer um script PHP funcionar sem um servidor web ou browser. A única coisa
necessária é o interpretador. Esse tipo de uso é ideal para script executados
usando o cron ou o Agendador de Tarefas (no Windows). Esses scripts podem ser
usados também para rotinas de processamento de texto. Veja a seção Utilizando o
PHP em linha de comando para maiores informações.
Escrevendo aplicações desktop. O PHP
provavelmente não é a melhor linguagem para criação de aplicações desktop com
interfaces gráficas, mas se você conhece bem o PHP, e gostaria de usar alguns
dos seus recursos avançados nas suas aplicações do lado do cliente, você pode
usar o PHP-GTK para escrever programas assim. Isso ainda lhe habilita a
escrever aplicações multi-plataformas. O PHP-GTK é uma extensão do PHP, não
disponibilizada na distribuição oficial. Caso esteja interessado no PHP-GTK,
visite o site do projeto.
O PHP pode ser utilizado na maioria
dos sistemas operacionais, incluindo Linux, várias variantes Unix (incluindo
HP-UX, Solaris e OpenBSD), Microsoft Windows, Mac OS X, RISC OS, e
provavelmente outros. O PHP também é suportado pela maioria dos servidores web
atuais, incluindo Apache, Microsoft Internet Information Server, Personal Web
Server, Netscape and iPlanet Servers, Oreilly Website Pro Server, Caudium,
Xitami, OmniHTTPd, e muitos outros. O PHP pode ser configurado como módulo para
a maioria dos servidores, e para os outros como um CGI comum.
Com o PHP, portanto, você tem a
liberdade para escolher o sistema operacional e o servidor web. Do mesmo modo,
você pode escolher entre utilizar programação estrutural ou programação
orientada a objeto, ou ainda uma mistura deles. Mesmo sem todos os recursos da
POO (Programação Orientada a Objetos) implementados no PHP 4, muitas bibliotecas
de código e grandes aplicações (incluindo a biblioteca PEAR) são escritas
somente em código POO. O PHP 5 corrige as fraquezas da POO do PHP 4, e introduz
um modelo de objetos completo.
Com PHP você não está limitado a
gerar somente HTML. As habilidades do PHP incluem geração de imagens, arquivos
PDF e animações Flash (utilizando libswf ou Ming) criados dinamicamente, on the
fly. Você pode facilmente criar qualquer padrão texto, como XHTML e outros
arquivos XML. O PHP pode gerar esses padrões e os salvar no sistema de
arquivos, em vez de imprimi-los, formando um cache dinâmico de suas informações
no lado do servidor.
Talvez a mais forte e mais
significativa característica do PHP é seu suporte a uma ampla variedade de
banco de dados. Escrever uma página que consulte um banco de dados é
incrivelmente simples. Os seguintes bancos de dados são atualmente suportados: Adabas
D InterBase, PostgreSQL, dBase FrontBase, SQLite Empress, mSQL Solid FilePro
(read-only), Direct MS-SQL, Sybase Hyperwave
MySQL Velocis, IBM DB2 ODBC Unix dbm, Informix
Oracle (OCI7 and OCI8), Ingres Ovrimos.
Também foi providenciado uma
abstração de banco de dados DBX permitindo a você utilizar qualquer banco de
dados transparentemente com sua extensão. Adicionalmente, o PHP suporta ODBC
(Open Database Connection, ou Padrão Aberto de Conexão com Bancos de Dados),
permitindo que você utilize qualquer outro banco de dados que suporte esse
padrão mundial.
O PHP também tem suporte para
comunicação com outros serviços utilizando protocolos como LDAP, IMAP, SNMP,
NNTP, POP3, HTTP, COM (em Windows) e incontáveis outros. Você pode abrir
sockets de rede e interagir diretamente com qualquer protocolo. O PHP também
suporta o intercâmbio de dados complexos WDDX, utilizado em virtualmente todas
as linguagens de programação para web. Falando de comunicação, o PHP implementa
a instanciação de objetos Java e os utiliza transparentemente como objetos PHP.
Você ainda pode usar sua extensão CORBA para acessar objetos remotos.
O PHP é extremamente útil em
recursos de processamento de texto, do POSIX Estendido ou expressões regulares
Perl até como interpretador para documentos XML. No processamento de XML, o PHP
4 suporta os padrões SAX e DOM, além de você também poder utilizar a extensão
XSL para transformar documentos XML. O PHP 5 padroniza toda a extensão XML a
partir da base sólida da libxml2, além de estender os recursos com o acréscimo
ao SimpleXML e XMLReader.
Utilizando o PHP no campo do
e-commerce, você poderá usar as funções específicas para Cybescash, CyberMUT,
Verysign Payflow Pro e MCVE, práticos sistemas de pagamento online.
Por último mas longe de terminar,
temos também outras extensões interessantes: funções para o search engine
mnoGoSearch, funções para Gateway IRC, vários utilitários de compressão (gzip,
bz2), calendário e conversões de datas, tradução.
3. Sintaxe Básica
Quando o PHP
interpreta um arquivo, ele simplesmente repassa o texto do arquivo até
encontrar uma das tags especiais que lhe diz para começar a interpretar o texto
como código PHP. O interpretador então executa todo o código que encontra, até
chegar em uma tag de fechamento PHP, que novamente o coloca simplesmente
repassando texto novamente. Este é o mecanismo que permite a inclusão de código
PHP dentro do HTML: qualquer coisa fora das tags PHP é deixado como encontrado,
enquanto tudo dentro é interpretado e executado.
Há quatro conjuntos de tags que
podem ser usadas para marcar blocos de código PHP. Delas, somente duas
(<?php. . .?> e <script language="php">. . .</script>)
são sempre disponíveis. As outras podem ser ativadas ou desativadas a partir do
arquivo de configuração php.ini. Enquanto as formas reduzidas das tags ou no
seu estilo ASP serem convenientes, elas não são portáveis em todas as versões.
Além disso, se você pretende incluir código PHP em XML ou XHTML, você precisará
usar a forma <?php ... ?> para compatibilidade com o padrão XML.
As tags suportadas
pelo PHP são:
1. <?php echo("se você precisa dispor
documentos XHTML ou XML, use assim\n"); ?>
2. <? echo ("este é o mais simples,
como uma instrução de processamento SGML\n"); ?>
<?= espressao ?> Uma redução de
"<? echo expressao ?>"
3. <script language="php">
echo ("alguns editores (como o
FrontPage) não
gostam de processas instruções");
</script>
4. <% echo ("Você também pode usar tags
ASP opcionalmente"); %>
<%= $variavel; # Uma redução para
"<% echo ..." %>
O primeiro método,
<?php. . .?>, é o preferencial, já que ele permite o uso do PHP em
códigos padrão XML como o XHTML.
O segundo método pode não estar
sempre disponível. Tags curtas estão disponíveis apenas quando ativadas. Isto
pode ser realizando através da função short_tags() (PHP 3 somente), ativando a
diretiva de configuração short_open_tag no arquivo de configuração do PHP ou
compilando o PHP com a opção --enable-short-tags no configure. Mesmo que ele
esteja configurado por default no php.ini-dist, o uso de tags curtas é
desencorajado.
O terceiro método está sempre
disponível e é tão seguro quanto o primeiro, Entretanto, o primeiro é o
preferível e o mais usado normalmente.
A quarta maneira só está disponível
se a tag estilo ASP estiver ativada utilizando a diretiva asp_tags no arquivo
de configuração.
A tag de fechamento incluirá uma
linha nova linha em branco automaticamente se uma não estiver presente. Além, a
tag de fechamento automaticamente implica num ponto e vírgula: você não precisa
ter um ponto e vírgula no fim da última linha de código PHP. Fechar o bloco de
PHP no final do arquivo é opcional.
O PHP também suporta a
utilização de estruturas como essa:
<?php
if ($expression) {
?>
<strong>Isso é verdadeiro.</strong>
<?php
} else {
?>
<strong>Isto é falso.</strong>
<?php
}
?>
Isso funciona como esperado porque
quando o PHP encontra a tag de fechamento ?>, ele simplesmente começa a
imprimir tudo até encontrar outra tag de abertura. Obviamente, o exemplo acima
se aplica a exibição de grandes blocos de texto, uma vez que sair do modo de
interpretação do PHP é geralmente mais eficiente que imprimir todo o texto
através de funções como echo(), print() e outras.
3.1. Exemplo
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<?php
echo "Olá, Eu sou um script
PHP!";
?>
</body>
</html>
Note
como isso é diferente de scripts CGI escritos em outras linguagens como Perl ou
C --- ao invés de escrever um programa com um monte de comandos para imprimir
HTML, você escreve um arquivo HTML com algum código inserido para fazer alguma
coisa (nesse caso, imprimir um pouco de texto). O código PHP é delimitado por
tags iniciais e finais que lhe permitem pular pra dentro e pra fora do
"modo PHP".
O que distingui o PHP de algo como
Javascript no lado do cliente é que o código é executado no servidor. Se você
tivesse um script similar ao acima em seu servidor, o cliente receberia os
resultados da execução desse script, sem nenhum modo de determinar como é o
código fonte. Você pode inclusive configurar seu servidor para processar todos
os seus arquivos HTML como PHP, e então não haverá nenhum modo dos usuários
descobrirem que se você usa essa linguagem ou não.
A linguaem php é de
extrema importancia para aplicações web, e uma vez que a internet é o mais
importante meio de comunicação, pesquisa e tantos outros atualmente, isso faz
dessa linguagem uma interessante ferramenta para se tomar conhecimento.
5. Referências
PHP – Home Page com
documentação de PHP. Apresenta informações e sintaxe da linguagem. Disponível
em <http://www.php.net>. Acesso em 29 de Maio de 2005.
MHAVILA – Home Page
destinada a pesquisa de LPs. Apresenta informações e documentação da linguagem
PHP. Disponível em < http://www.mhavila.com.br/link/internet/server/php.html>.
Avesso em 29 de Maio de 2005.