Aprendendo
PHP
Prof. Juliana de Sá
Prof. Fabricio Azevedo
O que é PHP ?
•PHPsignifica:HypertextPreprocessor.Realmente,oprodutofoi
originalmentechamadode“PersonalHomePageTools”;mascomose
expandiuemescopo,umnomenovoemaisapropriadofoiescolhidopor
votaçãodacomunidade.Vocêpodeutilizarqualquerextensãoquedesejar
paradesignarumarquivoPHP,masosrecomendadosforam.php,.phtml.O
PHPestáatualmentenaversão4,chamadodePHP4ou,simplesmentede
PHP.
O que é PHP ?
•OPHPtempoucarelaçãocomlayout,eventosouqualquercoisa
relacionadaàaparênciadeumapáginadaWeb.Defato,amaiorpartedo
queoPHPrealizaéinvisívelparaousuáriofinal.Alguémvisualizandouma
páginadePHPnãoserácapazdedizerquenãofoiescritaemHTML,porque
oresultadofinaldoPHPéHTML.
O que é PHP ?
•OPHPéummódulooficialdoservidorhttpApache,olíderdomercadode
servidoresWeblivresqueconstituiaproximadamente55porcentodaWorld
WideWeb.IssosignificaqueomecanismodescriptdoPHPpodeser
construídonopróprioservidorWeb,tornandoamanipulaçãodedadosmais
rápida.AssimcomooservidorApache,oPHPécompatívelcomvárias
plataformas,oquesignificaqueeleexecutaemseuformatooriginalem
váriasversõesdoUNIXedoWindows.Todososprojetossobaégideda
ApacheSoftwareFoundation–incluindooPHP–sãosoftwaredecódigo-
fonteaberto.
O que pode ser feito com PHP ?
•Basicamente,qualquercoisaquepodeserfeitaporalgumprogramaCGIpodeser
feitatambémcomPHP,comocoletardadosdeumformulário,gerarpáginas
dinamicamenteouenviarerecebercookies.PHPtambémtemcomoumadas
característicasmaisimportantesosuporteaumgrandenúmerodebancosde
dados,comodBase,Interbase,mSQL,mySQL,Oracle,Sybase,PostgreSQLe
váriosoutros.Construirumapáginabaseadaemumbancodedadostorna-seuma
tarefaextremamentesimplescomPHP.Alémdisso,PHPtemsuporteaoutros
serviçosatravésdeprotocoloscomoIMAP,SNMP,NNTP,POP3e,logicamente,
HTTP.Aindaépossívelabrirsocketseinteragircomoutrosprotocolos.
O que pode ser feito com PHP ?
•Tabela Comparativa
Separador de instruções
•Paracadafimdelinhadecódigotemquehaverumpontoevírgula,indicandoao
sistemafimdeinstrução.
Exemplo
<?php
echo“com ponto e vírgula”;
?>
•Linhas de comando, de controle, não precisam de ponto e vírgula.
Separador de instruções
Exemplo
<?php
if($x == $x) {//aqui não precisa de ponto e vírgula
echo“com ponto e vírgula” ;//aqui precisa de ponto e vírgula
}
?>
Nomes de variáveis
•TodavariávelemPHPtemseunomecompostopelocaracter$(cifrão)e
umastring,quedeveiniciarporumaletraouocaracter“_”(underline).
PHPécasesensitive,ouseja,asvariáveis$phpe$PHPsãodiferentes.Por
issoéprecisotermuitocuidadoaodefinirosnomesdasvariáveis.Ébom
evitarosnomesemmaiúsculas,poiscomoveremosmaisadiante,oPHPjá
possuialgumavariáveispré-definidascujosnomessãoformadosporletras
maiúsculas.
Cookies
Setcookie(“nome_do_cookie”,”seu_valor”,”tempo_de_vida”,”path”,”domínio”
,”conexão_segura”)
Nome_do_cookie=Éonomeque,posteriormente,setornaráavariáveleoqueo
servirádereferênciaparaindicarocookie.
Seu_valor=Éovalorqueavariávelpossuirá.Essevalorpodeserdetodosostipos.
Cookies
Tempo_de_vida=Éotempo,emsegundos,queocookieexistiráno
computadordovisitante.Umavezexcedidoesseprazoocookieseapagade
modoirrecuperável.Seesseargumentoficarvazio,ocookieseapagará
quandoovisitantefecharobrowser.
Path=endereçodapáginaquegerouocookie–automático
Domínio=domínioaoqualpertenceocookie–automático
Conexão_segura=Indicaseocookiedeverásertransmitidosomenteemuma
conexãoseguraHTTPS.
Session
Sessõessãomecanismosmuitoparecidoscomostradicionaiscookies.Suas
diferençassãoquesessõessãoarmazenadasnopróprioservidorenãoexpirama
menosqueoprogramadorqueiraapagarasessão.
Osession_destroy()sódeveserusadoquandofordavontadedoprogramadoracabarcom
todosassessõesdaquelevisitante,portantomuitocuidadocomessafunção.
Função Argumentos
session_start() Não precisa de argumento
session_register() A variável sem o cifrão
session_unregister() A variável sem o cifrão
session_is_registered A variável sem o cifrão
Banco de Dados
•BancodeDadoscompatíveis
OsbancosdedadosatualmentesuportadospeloPHPsão:AdabasD,
dBase,mSQL,InterBase,SyBase,Empress,MySQL,Velocis,FilePro,
Oracle,dbm,Informix,PostgreSQL.
Biblioteca de Funções
•Bibliotecasrequeridas
Paraquesepossautilizaressasfunçõeséprecisoterinstalado,noservidor,
asseguintesbibliotecas:
Módulo do PHP Onde encontrar
LDAP ftp://ftp.openldap.org/pub/openldap/
ftp://terminator.rs.itd.umich.edu/ldap/
ftp://ftp.critical-angle.com/pub/cai/slapd/
BerkleyDB2 http://www.sleepycat.com/
Biblioteca de Funções
•Bibliotecasrequeridas
Módulo do PHP Onde encontrar
SNMP http://www.ece.ucdavis.edu/ucd-snmp/
GD http://www.boutell.com/gd/#buildgd
mSQL http://www.hughes.com.au/
MySQL http://www.mysql.com/
IMAP ftp://ftp.cac.washington.edu/imap/
FreeType(libttf) http://www.freetype.org
Zlib http://www.cdrom.com/pub/infozip/zlib
Biblioteca de Funções
•Bibliotecasrequeridas
Módulo do PHP Onde encontrar
ExpatXML parserhttp://www.jclark.com/xml/expat.html
PDFlib http://www.ifconnection.de/~tm/
mcrypt ftp://argeas.cs-net.gr/pub/unix/mcrypt/
mhash http://sasweb.de/mhash/
t1lib http://www.neuroinformatik.ruhr-
unibochum.de/ini/PEOPLE/rmz/t1lib.html
Dmalloc http://www.dmalloc.com/
Aspell http://metalab.unc.edu/kevina/aspell/
Biblioteca de Funções
•array
Retornaumarraydeparâmetros.Índicespodemseratribuídosaos
parâmetrosatravésdooperador.
array(<opções>);
Exemplo:
$arr=array(“palavras”=>array(“1”=>“index”,”2”=>“main“,”3”=>
“default”),”tradução”=>array(“índice”,”principal”,”padrão”));
Biblioteca de Funções
•array_keys[PHP4]
Retornaosíndicesdeumarray.
arrayarray_keys(arraymatriz);
•array_merge[PHP4]
Retornaumarrayresultantedaconcatenaçãodedoisoumaisarrays.
array_merge(arraymatriz1,arraymatriz2,[<opções>]);
Biblioteca de Funções
•Date
Retornaumadatanoformatoespecificado
Stringdate(stringformato,int[datahora]);
Argumento Descrição
Data Data/hora a ser formatada. Se não for especificada utilizará
a data/hora corrente.
Formato Stringcom caracteres de formatação de datas.