1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
|
<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="introduction">
<title>Introduo</title>
<sect1 id="intro-whatis">
<title>O que PHP?</title>
<para>
PHP (um acrnimo recursivo para "PHP: Hypertext Preprocessor")
uma linguagem de script open-source do lado do servidor embutvel em HTML.
</para>
<para>
Uma resposta simples, mas o que isso significa? Um exemplo:
</para>
<para>
<example>
<title>Um exemplo introdutrio</title>
<programlisting role="php">
<![CDATA[
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<?php
echo "Ol, Eu sou um script PHP!";
?>
</body>
</html>
]]>
</programlisting>
</example>
</para>
<para>
Note como isso diferente de scripts CGI escritos em outras
linguagens como Perl ou C --- ao invs de escrever um programa com um monte
de comandos para imprimir HTML, voc escreve um arquivo HTML com algum
cdigo inserido para fazer alguma coisa (nesse caso, imprimir um pouco de
texto). O cdigo PHP delimitado por <link
linkend="language.basic-syntax.phpmode">tags iniciais e finais</link>
que lhe permitem pular pra dentro e pra fora do "modo PHP".
</para>
<para>
O que distingui o PHP de algo como Javascript no lado do cliente
que o cdigo executado no servidor. Se voc tivesse um
script similar ao acima em seu servidor, o cliente receberia
os resultados da execuo desse script, sem nenhum modo de determinar
qual o cdigo fonte. Voc pode inclusive configurar seu servidor
para processar todos os seus arquivos HTML como PHP, e ento no haver
nenhum modo dos usurios descobrirem que voc usa essa linguagem.
</para>
</sect1>
<sect1 id="intro-whatcando">
<title>O que o PHP pode fazer?</title>
<para>
Qualquer coisa. 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 formulrios, gerar contedo dinmico de pginas ou
enviar e receber cookies. Mas o PHP pode fazer muito mais.
</para>
<para>
Esses so os maiores campos onde os scripts PHP podem se utilizados:
<itemizedlist>
<listitem>
<simpara>
Script no lado do servidor (server-side). Este o mais tradicional
e principal campo de atuao do PHP. Voc precisa de trs coisas
para seu trabalho. O interpretador do PHP (como CGI ou mdulo),
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 pgina PHP atravs do servidor web. Veja as
<link linkend="installation">instrues de instalao</link>
para maiores informaes.
</simpara>
</listitem>
<listitem>
<simpara>
Script de linha de comando. Voc pode fazer um script PHP
funcionar sem um servidor web ou browser.
A nica coisa necessria o interpretador.
Esse tipo de uso ideal para script executados
usando o <literal>cron</literal> (ou o Agendador de Tarefas no Windows),
ou rotinas de processamento de texto. Veja a seo
<link linkend="commandline">Utilizando o PHP em
linha de comando</link> para maiores informaes.
</simpara>
</listitem>
<listitem>
<simpara>
Escrevendo aplicaes GUI no lado do cliente (client-side). O PHP no (provavelmente)
a melhor linguagem para produo de aplicaes com interfaces em janelas,
mas o PHP faz isso muito bem, e se
voc deseja usar alguns recursos avanados do PHP em
aplicaes no lado do cliente poder utilizar o
PHP-GTK para escrever esses programas. E programas
escritos desta forma ainda sero independentes de plataforma.
O PHP-GTK uma extenso do PHP, no disponvel na
distribuio oficial. Se voc est interessado no
PHP-GTK, visite <ulink url="&url.php.gtk;">seu
website</ulink>
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
O PHP pode ser utilizado na maioria dos sistemas operacionais, incluindo
Linux, vrias variantes Unix (incluindo HP-UX, Solaris e OpenBSD),
Microsoft Windows, Mac OS X, RISC OS, e provavelmente outros.
O PHP tambm 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 um mdulo para a maioria dos servidores,
e para os outros como um CGI padro.<!--(repetitivo) PHP can work
as a CGI processor.-->
</para>
<para>
Com o PHP, portanto, voc tem livre arbtrio para escolher o sistema
operacional e o servidor web. Do mesmo modo, voc pode escolher entre
utilizar programao estrutural ou programao orientada a objeto,
ou uma mistura deles. Mesmo no
desenvolvendo nenhum recurso padro de OOP (Object Oriented Programming, Programao Orientada a Objetos) na verso atual
do PHP, muitas bibliotecas de cdigo e grandes aplicaes (incluindo a
<link linkend="pear">biblioteca PEAR</link>) foram escritos somente
utilizando OOP.
</para>
<para>
Com PHP voc no est limitado a gerar somente HTML. As habilidades
do PHP incluem gerao de imagens, arquivos PDF e animaes Flash
(utilizando libswf ou Ming) criados dinamicamente, on the fly. Voc pode
facilmente criar qualquer padro texto, como XHTML e outros arquivos XML.
O PHP pode gerar esses padres e os salvar no sistema de arquivos,
em vez de imprimi-los, formando um cache dinmico de suas informaes
no lado do servidor.
</para>
<para>
Talvez a mais forte e mais significativa caracterstica do PHP seu
suporte a uma ampla variedade de banco de dados. Escrever uma pgina que consulte
um banco de dados incrivelmente simples. Os seguintes bancos de dados so atualmente
suportados:
<blockquote>
<simplelist columns="3">
<member>Adabas D</member>
<member>dBase</member>
<member>Empress</member>
<member>FilePro (read-only)</member>
<member>Hyperwave</member>
<member>IBM DB2</member>
<member>Informix</member>
<member>Ingres</member>
<member>InterBase</member>
<member>FrontBase</member>
<member>mSQL</member>
<member>Direct MS-SQL</member>
<member>MySQL</member>
<member>ODBC</member>
<member>Oracle (OCI7 and OCI8)</member>
<member>Ovrimos</member>
<member>PostgreSQL</member>
<member>Solid</member>
<member>Sybase</member>
<member>Velocis</member>
<member>Unix dbm</member>
</simplelist>
</blockquote>
Tambm foi providenciado uma abstrao de banco de dados DBX permitindo a voc
utilizar qualquer banco de dados transparentemente com sua extenso.
Adicionalmente, o PHP suporta ODBC (Open Database Connection, ou Padro Aberto de Conexo com Bancos de Dados),
permitindo que voc utilize qualquer outro banco de dados que suporte
esse padro mundial.
</para>
<para>
O PHP tambm tem suporte para comunicao com outros servios utilizando protocolos
como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (em Windows) e
incontveis outros. Voc pode abrir sockets de rede e
interagir diretamente com qualquer protocolo. O PHP tambm suporta o
intercmbio de dados complexos WDDX, utilizado em virtualmente todas as linguagens
de programao para web. Falando de comunicao, o PHP implementa a
instanciao de objetos Java e os utiliza transparentemente como
objetos PHP. Voc ainda pode usar sua extenso CORBA para
acessar objetos remotos.
</para>
<para>
O PHP extremamente til em recursos de processamento de texto, do
POSIX Estendido ou expresses regulares Perl at como interpretador para
documentos XML. Para acessar e processar documentos XML, so
suportados os padres SAX e DOM. Voc ainda pode usar nossa extenso
XSLT para transformar documentos XML.
</para>
<para>
Utilizando o PHP no campo comercial, voc poder as
funes especficas para Cybescash, CyberMUT, Verysign Payflow
Pro e CCVS, prticos sistemas de pagamento
online.
</para>
<para>
Por ltimo mas longe de terminar, temos tambm outras extenses
interessantes: funes para o search engine mnoGoSearch,
funes para Gateway IRC, vrios utilitrios de compresso
(gzip, bz2), calendrio e converses de datas, traduo...
</para>
<para>
Como voc pode ver, esta pgina no suficiente para descrever todos
os recursos e benefcios que o PHP pode oferecer. Leia nas
sees sobre a <link linkend="installation">Instalao do
PHP</link>, e veja a <link linkend="funcref">lista de
funes</link> para detalhes das extenses
mencionadas aqui.
</para>
</sect1>
<sect1 id="intro-history">
<title>Uma breve histria do PHP</title>
<simpara>
O PHP foi concebido em por volta de 1994 por &link.rasmus;.
Verses iniciais no lanadas foram usadas em sua home page para
rastrear quem estava olhando o seu currculo virtual. A primeira verso
utilizada por terceiros ficou disponvel em 1995 e era conhecida como
Personal Home Page Tools. Consistia de um interpretador
muito simples que apenas entendia algumas macros especiais
e um conjunto de utilitrios comuns em home pages
daquela poca. Um guestbook (livro de visitantes), um contador, e algumas outras coisas. O
interpretador foi rescrito em meados de 1995 e batizado PHP/FI verso 2. O
FI era de outro pacote que Rasmus tinha escrito e interpretava
dados de formulrios HTML. Ele combinou os scripts do Personal Home Page Tools
com o Form Interpreter e adicionou suporte ao mSQL e assim nasceu o
PHP/FI. O PHP/FI cresceu a um ritmo fantstico e pessoas comearam
a contribuir para seu cdigo.
</simpara>
<simpara>
difcil precisar qualquer estatstica, mas estima-se
que ao final de 1996 o PHP/FI estava em uso em pelo menos 15,000 web sites
ao redor do mundo. Em meados de 1997 este nmero tinha crescido para mais de
50,000. Na metade de 1997 houve uma mudana no desenvolvimento do PHP. Ele deixou
de ser o projeto pessoal de Rasmus ao qual muitas pessoas tinham
contribudo, para se tornar o foco de um time mais
organizado. O interpretador foi rescrito do zero por Zeev Suraski e
Andi Gutmans e este novo interpretador formou a base do PHP verso
3. Muito do cdigo dos utilitrios do PHP/FI foi portado para o PHP 3
e muito mais dele foi completamente rescrito.
</simpara>
<simpara>
A ltima verso (PHP 4) usa engine de scripting da <ulink
url="&url.zend;">Zend</ulink> para possibilitar alta
performance, suportar uma ampla variedade de bibliotecas externas
e extenses, e ainda rodar como um mdulo nativo com todos os
servidores web populares.
</simpara>
<simpara>
Hoje (1/2001), o PHP 3 ou 4 pode ser encontrado em numerosos
produtos comerciais como o servidor web Stronghold da Red Hat.
Uma estimativa conservadora baseada na extrapolao de
nmeros fornecidos pela <ulink url="&url.netcraft;">Netcraft</ulink>
(veja tambm <ulink url="&url.netcraft-survey;">Netcraft Web Server
Survey</ulink>) diria que o PHP est em uso em mais de 5.100.000
sites ao redor do mundo. Para colocar isso em perspectiva, este nmero
sensivelmente maior do que o nmero de sites que rodam o servidor IIS da Microsoft na Internet
(5,03 milhes).
</simpara>
<!--
<figure>
<title>NetCraft Webserver Survey</title>
<graphic fileref="&url.php.stats;"/>
</figure>
-->
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
|