Livro PHP PDF Portugues PDF
Livro PHP PDF Portugues PDF
Livro PHP PDF Portugues PDF
Novatec
capítulo 1
Apresentação
do PHP
Este capítulo e o seguinte têm como objetivos servir como revisão para aqueles que
já conhecem PHP, e como guia inicial para aqueles que estão sendo apresentados à
linguagem pela primeira vez. Apesar de este livro abordar conteúdos avançados e
não ter o propósito de ensinar princípios da linguagem, uma explanação básica da
mesma se faz necessário. Se este for o seu caso, parabéns pela decisão em aprender
e aprofundar seus conhecimentos em uma das linguagens web que mais cresce em
utilização no mundo. Siga adiante por este capítulo. Caso contrário, se o leitor já
tiver conhecimentos prévios, pode se sentir à vontade para avançar nestes dois
capítulos iniciais e partir diretamente para o Capítulo 3.
Nas linhas a seguir entenda o porquê do PHP ter se tornado uma das linguagens
mais utilizadas na web, e como ele vem sendo usado nos mais diferentes projetos
de diversas magnitudes.
20
Capítulo 1 ■ Apresentação do PHP 21
No decorrer desses anos podemos verificar que cada versão do PHP teve o seu
papel fundamental para ajudar a propagar e difundir sua linguagem. A seguir, ve-
remos de uma maneira geral o que cada uma delas fez pela evolução do PHP:
■ Versão 2 – Em 1997, o PHP/FI 2.0, segunda versão da implementação C, obte-
ve o apoio e reconhecimento de milhares de usuários ao redor do mundo.
Aproximadamente 50.000 domínios reportavam sua instalação e uso, cons-
tituindo assim uma base de 1% dos domínios da internet. Enquanto isso,
havia milhares de pessoas contribuindo com pequenos trechos de códigos
para o projeto. Apesar disto, ele foi apenas lançado oficialmente em Novem-
bro de 1997, após demandar a maior parte de sua vida em versões betas. Foi
rapidamente substituído pelas releases alfas do PHP 3.0.
■ Versão 3 – Criada por Andi Gutmans e Zeev Suraski em 1997, o PHP 3.0 foi a
primeira versão da linguagem que se assemelha ao PHP como conhecemos
hoje. Esta versão foi totalmente reescrita, após seus autores descobrirem que
o PHP/FI 2.0 era uma linguagem versátil e que poderia ser utilizada para seus
projetos acadêmicos de comércio eletrônico. Num esforço conjunto a partir
da base de usuários PHP/FI já existente, Andi, Rasmus e Zeev decidiram se
unir e anunciaram o PHP 3.0 como uma versão oficial e sucessora do PHP/FI
2.0, cujo desenvolvimento foi totalmente descontinuado. Nasceu assim o PHP
3.0, que além de oferecer aos usuários finais uma infra-estrutura sólida para
diversos bancos de dados, protocolos e APIs, a extensibilidade apresentada pela
versão atraiu dezenas de desenvolvedores que se juntaram com o propósito
de submeter novos módulos.
22 PHP Profissional
1.3.1 Custo
O PHP não tem custo de licença justamente por ser um software livre. Isto sig-
nifica que ele pode ser instalado em qualquer máquina, para qualquer número
de usuários, sem que isto denote a violação de alguma lei de direito autoral. Seu
modelo de licenciamento é o da GPL – General Public License (Licença Pública
Geral), largamente utilizado em softwares livres. Para maiores detalhes, consulte o
site http://php.net/license.
Seu suporte é feito pelas comunidades que crescem dia a dia, tanto no Brasil
quanto ao redor do mundo. Estas comunidades são uma das melhores maneiras de
se obter suporte, trocar experiências e discutir idéias sobre a linguagem. Ao final
do livro são fornecidos links de páginas da internet das principais comunidades
em atividades em diversos países.
24 PHP Profissional
Apesar de o PHP ser um software livre, a Zend, que é empresa criada por Andi
e Zeev, fornece ferramentas como IDE – Integrated Development Environment
(Ambiente Integrado de Desenvolvimento), servidores e outros produtos a fim de
facilitar o contato com a linguagem. Além disso, ela também oferece a certificação
oficial da linguagem, a Zend Certification. A Borland e sua subsidiária, denominada
CodeGear, também possuem um IDE proprietário, chamado “Delphi para PHP”.
Para os programadores Delphi, essa ferramenta pode facilitar o desenvolvimento,
já que seu IDE conta com componentes conhecidos destes programadores, como
DBGrid, DBNavigator etc. Além disso, o projeto Eclipse da IBM fornece um IDE
para desenvolvimento totalmente gratuito, no mesmo estilo do IDE Eclipse para
Java. Este último, denominado Eclipse PDT (PHP Development Tools), em nada fica
devendo aos melhores IDEs pagos do mercado.
ola.php
<html>
<head>
<title>
Testando o PHP
<title>
</head>
<body>
<?php
echo '<b>Alô Mundo. Seja bem-vindo ao PHP.</b>';
?>
</body>
</html>
Resultado:
Alô Mundo. Seja bem-vindo ao PHP.
Aqui está a grande sacada! Por ser pré-interpretado no servidor como descrito
no início do capítulo, o usuário só consegue ler as tags HTML e não o código PHP
em si.
Além das características citadas anteriormente (que também podem ser encon-
tradas em outras linguagens), listamos a seguir alguns pontos que podem ajudá-lo
na escolha do PHP como sua plataforma de desenvolvimento:
■ Independência de plataforma: roda em Windows, Linux, Unix, Mac etc.
■ Suporte a Orientação a Objetos consistente na versão 5.
■ Curva de aprendizado reduzida para quem está aprendendo a linguagem.
■ Sintaxe semelhante com a de linguagens consagradas como C e Java.
■ Integração com vários servidores web como Apache, IIS, Xitami, entre ou-
tros.
■ Servidores de hospedagem tanto gratuitos como pagos em grande quantidade
no Brasil e no mundo.
■ Documentação oficial em português.
■ Possibilidade do desenvolvimento também para desktop, usando a mesma
linguagem. Hoje já é possível desenvolver com PHP em modo visual utili-
zando janelas a exemplo do Java, Delphi, C++, Visual Basic etc. Podemos
criar aplicações para trabalhar tanto em rede ou stand-alone independente
do sistema operacional. Isso só foi possível graças à evolução da linguagem e
à inclusão da biblioteca GTK. Para conferir o que o PHP pode oferecer neste
sentido, tome como ponto de partida a página http://gtk.php.net. Este endereço
também conta com diversos exemplos disponíveis.
Estes são alguns fatores adicionais que o PHP pode oferecer e que podem in-
fluenciar sua decisão na adoção desta linguagem. Os fatos estão aí e mostram que
a linguagem amadureceu e está pronta para o seu próximo projeto.
Não tão comum como estes dois termos, um terceiro, chamado AMP (ou XAMP),
também pode ser encontrado em sites da internet e livros: nada mais é do que uma
generalização dos anteriores. Refere-se a um ambiente com o servidor web Apache,
banco de dados MySQL, linguagem PHP, sem especificar seu sistema operacional.
Como descrito, em se tratando de um ambiente com tais características, podemos
tomar a liberdade de não explicitar este sistema, visto que na maior parte das
aplicações não haverá diferenças na utilização do ambiente, sendo ele baseado no
Windows ou Linux. É o que se chama de abstração do sistema da máquina.
Mais adiante será feita uma exposição completa sobre as diferentes formas de
instalação e configuração deste ambiente. Será adotada uma configuração de um
ambiente básico para o desenvolvimento do PHP, que será utilizada para todos os
exemplos e práticas descritas no decorrer do livro.
Caso a requisição recebida pelo Apache seja um arquivo do tipo HTML ou figura,
ele consulta o seu sistema de arquivos e, se este estiver disponível, é retornado ao
cliente. Por outro lado, se o tipo solicitado tiver uma extensão especial, que deva ser
tratado por algum sistema externo ao Apache (como, por exemplo, arquivos do tipo
Capítulo 1 ■ Apresentação do PHP 31
CGI (Common Gateway Interface), PHP, Perl, Python etc.), esta requisição é delegada
ao seu responsável. Este irá efetuar o devido tratamento, como, por exemplo, realizar
um cálculo aritmético, e retornará a resposta ao Apache. Este por sua vez, de posse
da requisição processada pelo sistema externo, entregará a resposta ao navegador
do cliente. Eventualmente este agente necessitará realizar consultas a uma base de
dados relacional, razão pela qual na Figura 1.3 o sistema do PHP apresenta uma
conexão com o banco de dados MySQL.
Como todo o restante do livro abordará exemplos práticos num servidor AMP,
é altamente recomendável que o leitor possua um ambiente próprio para testes dos
seus scripts e aplicativos. Ele pode estar disponível em sua própria máquina ou a
partir de um servidor de sua rede, onde este possua acesso aos arquivos de scripts.
Caso ainda não o possua, serão apresentados nos próximos tópicos exemplos prá-
ticos para sua instalação e configuração.
A seguir serão descritas três formas distintas para a realização desta tarefa. Elas
são suficientes para a utilização e prática de todos os exemplos propostos neste
livro. É importante ressaltar que, como boa prática de segurança, tais ambientes
nunca deverão ser utilizados em ambientes de produção. Para isto, seriam neces-
sárias configurações e instalação de softwares adicionais neste servidor para sua
segurança e manutenção, o que foge do escopo deste livro.
Uma das maiores vantagens na utilização destas máquinas virtuais é que algumas
delas disponibilizam em seus sites máquinas virtuais pré-montadas e configura-
das para inúmeros propósitos diferentes. Um destes casos é o VMware Server, que
34 PHP Profissional
■ Mambo Virtual Appliance – ambiente web com o aplicativo Mambo Server CMS,
escrito em PHP, voltado para gerenciamento de conteúdo de sites da internet.
Disponível em http://vmware.com/appliances/directory/520.
■ SugarCRM Appliance – ambiente web com o aplicativo SugarCRM, escrito em
PHP, voltado para gestão comercial de clientes. Disponível em http://vmware.
com/appliances/directory/211.
Esta instalação pode ser feita a partir de uma máquina real ou virtual (verificar
tópico anterior, com a utilização do VMware Server) com o Linux Debian. É im-
portante notar que, assim como os itens anteriores, esta máquina tem o propósito
apenas para testes do ambiente. Ela nunca deverá ser utilizada num ambiente real
de produção. Além disso, os procedimentos descritos são meramente ilustrativos
para concepção do sistema, podem eventualmente variar de acordo com a versão
do sistema e dos componentes utilizados e não abrangem por completo todas as
opções disponíveis para os seus módulos.
Poderão ser utilizados o navegador Lynx ou o utilitário GNU Wget para realizar
o download pela internet de todos os componentes. Os sites oficiais destes dois
utilitários são, respectivamente, http://lynx.browser.org e http://gnu.org/software/wget.
Caso seu sistema não os possua, eles poderão ser baixados e instalados a partir do
utilitário apt-get, um dos componentes do pacote do APT do sistema Debian.
O diretório base será adotado com o nome de www. Ele será criado no diretório
home, um dos padrões na grande maioria dos sistemas Linux / Unix. Dentro do www,
serão criados os diretórios public_html e sources, respectivamente para nossos códi-
gos-fonte e arquivos de componentes baixados pela internet. Em seguida, serão
concedidos usuário e grupo desenv para toda a estrutura em www.