Está en la página 1de 102
Apostila de PHP inoict LINTRODUCKO 0 quee PHP? 0 HistoRiA D0 PHP. u (© que noe sex 70 CoM PHP? 2 TTABELA COMPARATIVA. 2 2.SINTAXE BASICA, Deimranpo 0 conico PHP. 'SEPARADOR DE INSTRUCOES, NoMEs De VARIAVENS ComexrAnios. 3.TIPOS, ‘Twos SuroRrAapos. 16 rs eget 1% Namen em Ps Plt doe ft 16 Listas. 18 Osietos 9 BOOLEANOS it “TRANSFORMACAO DE THOS Connors. 0 ‘TRANSFORMACAO EXPLICITA DETIPOS 0 Conta FUNGAO SETTYPE 21 4. CONSTANTES. CCONSTANTES PRE-DEFIIDAS sos 7 os 2 DDERININDO CONSTANTES, 2 5. OPERADORES. 6.ESTRUTURAS DE CONTROLE snernsnnnnnninnnnnnnnns BL.oc0s. n CComanos De seLCA0. 2 % 2 Pick 30 CCOMANDOS DE REETICAO, 31 vale, 3 for QUEBRADEFLUXO.. Contin 7.FUNGOES. DDERININDO FUNCOES ‘VALOR DERETORNO, ARGUMENTOS. 36 PASSAGEM DE PARAMIETROS POR REFERENCIA 37 ARGUMENTOS COM VALORES PRE-DEFINIDOS (DEFAULT) 38 Exon Sonn 8. VARIAVEDS cos 39 at © nopiricapor starc at VARIAVEIS VARIAVESS.. ' 2 \VARIAVEIS ENVIADAS PELO NAVEGADOR 2 URLENCODE. 2 \VARIAVEIS DE AMBIENTE 3 ‘VeRIFICANDO OTIPO DE UMA VARIAVEL 43 ancl que ror ipo da var a inp ue ks oped verde a DESTRUINDO UMA VARIAVEL 4 ‘VeRIFICANDO SE UMA VARIAVEL FOSSUI UM VALOR “4 ARRAYS MULTIDIMENSIONAIS ' 45 9. CLASSES E OBJETOS. Lasse wero, ‘A VARIA STHIS SUBCLASSES FFoRMULARIOS AVANCADOS, 2 ARQUIVOS REMOTOS, 3 endo so Exrevnd o “TRATAMENTODE EROS s msl. O quee? 55 SELECT 55 Sil a INSERT 56 UPDATE vo = = eee = 56 DELETE, 3 (0 que ent comuar ivtRE! DELETE x UPDATE, ‘7 CREATE. 3 DROP woos oo - Oss ALTER eS 12, BANCOS DE DADOS COMPATIVEIS COM O PHP: 13. BIBLIOTECA DE FUNGOES ssessnninnnnnnrninnnnnninnni 9 BIBLIOTECAS REQUERIDAS 9 Akay 59 sry ey PPS) ° ‘Ara merge PPG) — o ‘reas popt PPS) o ‘areas push PHS} “o ‘areas shnTPHPS o ‘o ‘or ‘ ‘r ‘ara shee PAPA) ‘raya PHD = = == ‘iray-ansin PPA) ‘ray ales PPS Compas Gur os Exh a Berean ncn hen . Chad ‘Goaraache Dele Dima Duseespce- Pele aeaggasharere leaer. Fesce Fiepe Fopen pestis pat Pread Prt Pert eweuabie hfe hi tread RSeRSeseeenshagagazereeeeececececececeeaenane Serie Unpack. Uke. Ripe Check. Ghose Debugger Debusterof. Seon, decode PPA) Sisson dese PHP. Seon eende PAPA Sesion star PDA). Seson-M/PHPS). Sesion se reed Pa Session ode nomelPHPS) Seon name PAPA ~~ Seaton reese PHP} Sesion save pa PHS) Seton reser PPA) rains "Adlai Chop ‘Chink pi. Gomer 9 sing geSeeegezzzzszezeznae seeseseSeeseses Parse_st. oo Prin. ne iin == Simp Sete Sime sing Sit Sito Sinope Sinreplae Sim. Tri Uefa Vewonis FUNOOES PARA VARIAVEIS Doubles. Bop Geripe nn Ira dbl non ee om meer tebme Seeageagageseesesesesesssxsgssassss o o o 0 q 1. Introdugao Oquo6 PHP? PHP significa: Hypertext Preprocessor. Realment, o produto fo originalmente ‘chamado de “Personal Home Page Tools”; mas como se expandiu em escopo, um nome ‘novo e mais apropeiade fo eseothide por votagso da comunidade, Voe® pode wilizat ‘qualquer extensio que desejar para design um arquivo PHP, mas os recomendados foram ‘php phim, O PHP esté atualmente na vers 4, chamado de PHPS ou, simplesmente de PHP. PHP ¢ wma linguagem de eri de seripts embutida em HTML no servidor. Os ‘routs patentcados nessenicho do mercado so as Active Server Pages da Microsoft, © Coldfusion da Allaire eas Java Server Pages da Sun. PHP & is vezes chamado de “o ASP de ebdigort ‘ou 0 que quer que seja, da Microsoft alberto” porque sua funcionailidade € tio semelhante so preato/conceito, Exploraremos a criago de seript no servidor, mais profundamente, nos prdximos capitlos, mas, no momento, voc pode pensar no PHP como uma colegio de supertags de HTML que permitem adicionar fangs do servidor 3s suas paginas da Web, Por exemple, ‘voeé pode utilizar PHP para montarinstantancamente uma complexa pigina da Web ou esencadear um programa que automaticamente execute 0 débito no cartio de eréito ‘quando um cliente realizar uma compa, Falando esrtamente, o PHP tem pouca relagio com layout, eventos ou qualquer coisa relacionada uparéncia de uma gina da Web, De fato, a maior parte do que o PHP realiza €invsivel para o usuirio final. Alguém vsualizando uma pigina de PHP nio seri ‘original em varias versdes do UNIX e do Windows, Todos os projtos sob aégide da Apache Software Foundation —incluindo o PHP ~ slo software de cGdigo-fonte aber [As vitias verses do PHP foram aclamadas e premiadas nos sims anos. 0 PHP3 {oo finalist em 1999 no LinuxWorld Eater's Choice Awards (na eategoria de bibliotec/ferramentas de programas) ¢ ganhou o segundo lugar, perdendo s6 para 0 ColdFusion, em 1998 no Cnet Builder.com Prodict Awards (na categoria de melhor ferramenta de scrpt de servidor ~ eles deram bastante importineia a0 IDE), ao passo que a ‘ombinasio PHP3/MySOL ganhou prémio de banco de dados do ano no Web98, Nada mau para um software sem relagSes pablicas, sem publicidade e em uma significativa Histéra do PHE Rasmus Lerdorf — engenbeiro de software, membro da equipe Apache © 6 homem imisterioso do ano ~ 60 riador ea fers moti orignal por tr do PHD. A primeira pate {do PHP foi desenvolvida para uilizaglo pessoal no final de 1994, Tratava-se de um wrapper de PerICGI que 0 auxiliava a monitorar as pessoas que acessivam o seu site pessoal. Noano seguine, cle montou um pacotechamado de Personal Home Page Tools {também conhecido como PHP Consiruction Kit) em resposta 4 demanda de usuitios que or acaso ou por relatos flados depararam-se com o seu trabalho. A verso 2 foi logo Tangada sob o titulo de PHPYFT inclu o Form Interpreter, uma ferramenta para analisar sintatcamente consultas de SQL. Em meados de 1997, 0 PHP estava sendo utilizado mundialmente em proximadamente 50.000 sites. Obviamenteestava se tornando muito grande para uma “ica pessoa administrar, mesmo para alguém concentrado ¢ cheio de energia como ‘Rasmus, Agora uma pequens equipe central de desenvolvimento mantinhao projeto sobre ‘© modelo de “junta benevolent do eéigo-Fonte aberto, com contribuigdes de desenvolvedores e usuirios em todo 0 mundo. Zeev Suraski e Andi Gutmans, dois programadoresisracienses que descnvolveram os analisadores de sintaxe PHPS e PHPS, {também generalizaram eestenderam seus trabalhos soba rubrica de Zend.com Zeev, Andi, ‘Zend, entendeu). ‘O quarto trimestre de 1998 iniciou um perfado de crescimento explosivo para 0 (0 que pods sor feito com PHP? Bascamens, qualquer cia qo pode st eta pr aleum peograna Cl poe tm com com colt dos de mfr, gr pgias ismcanen cei ¢ reer cokes. PHP também em come un das crass mais importants osuporte «um grande nner de cos de dds, camo dBase, Ines, mSQL. mySQL. Orake, Sybwse, PoseSOL vis ots, (Contin plas bated een wt bance de dade oro tn arf exert nple co PHP. Alem dso. PHP em spore a oats sevigosaraés de protaohs como IMAP, SNMP, NNTP, POPS, lopcamens HTTP. Aida pose abi ack tec tos protcalo. Tabeta comparative ‘Kem ‘ASP ‘Cold Fusion JSP PHP Desenvolvimento USS 0—480 USS 395 usso Usso Servidor USS «20 USS1295—USS0-595 USO. RDBMS USS 1220-4220 USS0--10.000USS0--10.000 USS Suporte de incidente_USSO "245 UsS0-75 _USS0-75__USSO 2. Sintaxe Basica Detimitando 0 igo PHP 0 cédigo PHP fica embutido no prio MEML, 0 iret Henin quando um go € PHP peas sepinstags (ipo de ag ras iizad €o ered, qu css em uma abe o pene, ‘acta ows por popranadresscstumados inate de ASP. Parison neces habit oo aguvo de cntgragin do PH (sind ‘Soparador de instrugses Par ad fi ina igo tm gue her um pose i, nando ao smn eho eam pnt vr’: Pag preci de pnt viele , Momes de varavels or un ers acter” "PHP 6 cae sent, cn vari Spe SPP so eres. or ‘0 eit muito clad a defn 0 nomes ds varies E bom evita os tomes em sca, is como vereos mi dant, © PHP pos algun varies préfinis cujos names so formas comentirios CComentroe de uma tna: ‘er ames. Pade ser delim plo cater ou pe das bars). Exemplo: echo “tester; //aste teste 6 similar ao anterior Exemplos: echo “tester; /* Isto 6 um comentario com mais Ge una linha que funciona corretanente Tipos Tipos Suportados + Ponto fans PHP utiliza checagem de tipos dindmica, ou seja, uma varivel pode conter valores de diferentes tipos em diferentes momentos da execusio do script, Por este mative no 6 novessirio declarar 0 tipo de ums varidvel para us-la O interpretador PHP decid ‘ual o tipo daquelavargvel, veriticando o conteédo em tempo de exceusso. Ainda assim, & permitide converter os valores de um tipo para outro esejado, uilizando © npecasting ou a funglo set ype (ver adiante) Inteiros (integer ou long) ‘Un vive pide one un vont com wba que ian squint Sphp = 1234; # inteiro positive na base decimal Sphp = ~234; # inteiro negative na base decimal SphP = 0234; # inteizo na base octal-simbolizado pelo 0 Sphp = 0x34; 4 inteiro na base hexadecinal # pele Ox) = equivale a 52 ai sinbolizado mal: Sphp = 1.234) Sphp = 23e4;, # equivale a 230.000 Strings Stings pcm serait de dss mais 2) land aps simples(*)-Desta mania 0 valoda varies extant o tex comic at sspus (comets de Ve\'-ser abla shit) 1) iano asus dupas ("= Dest mine qunguer vail ou arc de scape srt expand Esemplr Steste = *Brasil*s Sphp = '~-~Steste--\n"s echo "Sphpts Asai dee srip er" Stse 0" Steste = *Brasii*s Sphp = *---steste- echo "Sphpts sata dese serps "—Beasl-" am ua uch de in fh, Atel segue ist os carters escape: Sintaxe [Signifieado fw [Nova linha Arrays Arrays om PP pam er breads como mapsumenton ou como vetoes nena. Mai «© 0 ines pode ser ales de qualquer ipo eno some ieos.Inlsive os nds fem dos Como a checagem de poset PHP ¢ din, vals de pon deren pen er nao am indies ray si como s valores mapeatos tab pe ede divers tps. Scor[1) = tvermelho"s Seor(2} = Yerde”s Scor[3} = “azul; Scor[*eester] = 1s Equivaientenente, pode-se escrever: Scor = array(L => ‘vermelho, 2 => "verde, 3 => “azul”, seeste => 17 Ustas (As tna so wilde en PHP por saz atibiges nis. tans de Lint & sve valores que eto num aay pra varies Veja exemple Exemplo: List (Say $b, Se) = array(tat, “bY, ols (© comando acima auibei valores bs w#s vardveissimahancarnente. bom notar que 96 so Ap excugio docgo aims emos on egies valores null Deveros oberar que A vantl $4 nlo fo ainbuko vor, pois 90 ary Alo exe cement om ince (ceo). Ou dete importa que ovr “re” fo aide vaivel Se io 15h pseu nde 63,0 mesmo que Sma et, P fn, vers gue oval “A” wk fo abu a ements da ita, pis se nice ni tir, (0s atic de ta server apenas como refertca inert PHP peer a ues, open se acess de marie algun peo programa, De mane eet J aay ‘ma ita pe se arbi uma ariel, serind poms a fazer ils sigs ats Se cary. ovjetos Un objeto pide ser nilizadowlizandoo comands new ar insular ua cle par function nada) { , Sphp = new test. Sphp -> nada 0 tz de jon er mais ead ma ent ‘Quand acrrem determin operas ("por exemple dis valores de tips ‘Sirs, 0 PHP comers 0 alr de tn els sneatcrete (seg) etna mitir pw © operand or mvc, se vale nse aera (tipo prs oul x ales dos operas seo comverios & determina ds spun oma: Se um dox operands for £10¢, 0 oro ses comerio pra float, wen, se wm dees for integer. aur xerconveni para integer. Exemplo: Sphp = "2"; 1/ pap & @ string “I” Sehp = Sphp + 1; Sphp @ 0 integer 2 Spnp = Sphp + 3. 111 Sphp #0 double $.7 Sphp = + 2s 7/ Sphp € 6 double 2.5 Como posers not, o PHP comene ting para integer ou doubie mamtendo 0 ‘lo. sistema ido plo PHP pr conver de string para nmr 0 spun: FE anatine ono da string. Se comiver um amo esd valine Seni, 0 ‘alors 0220) (mimero pose cote om i ono (4700, Se a string comiver um pono em sia pune mumésca a ser ana, ele ser Sea string comiver um “eo “Bem su parte numa sr alia, 0 valor Sequim ser cose como exoont tase 10 alr oti sed douse php n10.5%) 11 Sphp == 11.5 Sep soil3e3"s // sphp == 1299 Sphp seestei0-s") | // Sphp == 2 Sen wotestes;_—// Sphp == 11 Sehp + testes; /7 sphp == 11 ‘Sphp eee ee ‘php = 157 11 Sphp 6 integer (15) Sphp = (double) Sphp // Sphp € double (15-0) Sphp = 3.9 7) $ehp @ double (3.9) Sphp = (int) Sphp —// sphp 6 integer (3) 77 @ valor decimal & truncado (0s ipod ast permis so: in, Ganepe) > mod protege (ea, (Goble) (Dea) mua pro (sing) = macs ara sing: (aay) = mo parry: (oj) mad par objeto ‘Com a tuneso setype |Afungio set ype comer uma vail pra tp expecfda que pest "itege tottering. ayo “bj” ‘Sphp = 157 11 Sphp 6 integer ‘settype (Sphp, double) // sphp € double 4. Constantes CConstantes pré-detnias (© PHP pos algunas constants ptt, indcando a verso do PHP, o Sima Opracional So servi, o aruivo em execu, evra ota norms Paar aco fs at conte pdfs, poese wir 3 fingio phpin £0), gue eben bela cmeado ts at costes pe dfn, sim om cotigurag sd mig, sea operacoml svi hp © verso Definindo constantes Para define consames wills a ung deine. Una ve defo, © valor de ma osteo pode mis se lero, Uma constant pole comter vals escalares, os) mo poe eter sem un ary tm moje. Assia fang dof ne spun int define(string none_da_constante, mixed valor); -Afuno eta Crue Sefer emcee um exemple saga segue define (tpit, 3.1415926536); Seireunt = 24pitbzaior Operadores 6 poem ser uiizalos quanto o operate so imeos (integer ou Not) Se or rtp ero seus valores comeridos ants ela operat ‘bio = ries [ais [md strings ‘Sonim opera excasivo pasa: do atbuicdo Exite um operidr sco de atibuigo ¢ diverios derivado, Semgre retamam 0 valor iui. No caso dos operas derivado aris, oper & es ente ox dois operands sed iui ores uo pico. A atu Senge por Val. eno por referasa = aig ingles = ‘agi com gio = ‘gu com stag 7 eT = sags com encalnago Exemplo: fae 5a t= 2p // Sa passa a conter © valor 9 ita it Compara di imo it ait Tn iho avec: =| wo invert se [a Ss Pag Légicos atlas pra imei represctando vanes bans nd go a [se vert 1 geo xia das operaores para“ par ea pore les im eens poses ma adem de precedincs Expressao condicional site um operator sel o queer Faclon asin: (expressact)? (expressac2) :( expressac3) interpreter PHP avaliaa rina ees Sela or eral, sexpreso rua ‘alo de expresso? Seno, eta ahr deexpesso3 ‘de ncrementoe decrement Pade serials de ds Formas antes 0 depois dh varie. Quan uzado anes ora valor a viel aes de nema on decrement. Quando wade dei, rer valor chanel increment ou decrement Exenplos: $a = $b = 10; // $a @ Sb recebem 0 valor 10 Sc = Sass // Sc recone 10.6 Sa passa ter 11 Sd = 445b; // Sd recebe 11, valor de sb 34 incrementado (rdom de precedéncia dos operadores Precedencia | Associaividade Operadares 4 Exques | and é ages 7. Benes | f = Bee _[e a Bens | a 10 qe | ¥ re 2 ra rn ee 16 Buen | 1, Bqews | ree 1% Dia in dou) ing) aay) obec , Dia t 6. Estruturas de Controle ‘peas taste porana,descever a sia de cad una debs esis ofnchomanent Blocos lteminad comand 0 fn. Fm comands coma ££, for, whi ‘ung eas poder se iad pra permit que um comand fa pate do coteto desea. Blas em PHP so dtiitad pel carats “{"€ “A tina dowdeliitadres de lca em um pate usher do eigen lain com comands cto Cgc i produc feats ‘ea noralment plo inept Exempl: ie (Sx == 5y) ccomando2s aa qu coma? esta elacomad of preciso wiiar um oe: if Gx == sy CComandos de selegio besos de comandos om bas em ese fis dram acne. it a conando3i comandoss conandol; conande2} if (expresso): ‘conandor ‘comandor endif; eared pr ches ets éumcanplemenoopcionl par o£. Se za 0 comand erecta exe retmar ovale £1 (eo). Sas das tae Af (expressio) Comandos Af (expressao): conandot ‘omandor else ‘comandos endif; ae i cis sages neces fazer mis de um este exer cmon Sri commndon on bloos de cmt. Pa Filo etendinenbe dea ee do Spec if (expressaci) conandaly Af (expressac2) ‘comandezs SE (expressac3) comande3s else fo tao o comndo, nbn epsom 150 Ble em a mesma fugo de um e152 « um A usados seqencaneme como no exemplo aims. Num mesmo podem se tlzaosdiveros 218641 eames ura arise do programa, ue deve zl elle seu sx, (© comand ©1150: £ tn pode ser tind com dis tps sina, Em sama. sine geal do comand fia ds spies man: 4 (expressaoiy [ elseif (expressac2) conando; | [eise comsndos | if (expressaot) + * Sonandor [ elseif (expressac2) “comandos 1 [etse * “comandos 1 (comand switch st de mani methane ama sre de comandon Sf ma mesma capes, Froglestenenle © programalor pode querer compari am are! com denon valores, © xc um ego diferente dpenr de qual aor € gual ao da vaivel, Quan so fr sacs, eves war o comand Sitch. O expo sepime most dois techs de cig qu fae a mesna i, sed eo prio una una sre de 1's gud tea at. if Gi== 0 print “i @ igual a zero: elseie (34 == 1) elseif ($1 == 2) Print “i é igual a doter: auiceh (30) case 0: print “i é igual a zero"; break! print “i 6 igual a unt; or tee, fim Go Hace por iso ue 0 comand Bea, qtebrands ona © frend cm que 2 go ea eecuad da mania dsj, Verenos mis sore o break mas ane. Veja exemple: switch (6) case 0: case Tr print “i ¢ igual a unt; No exempl ci, se ior ga eo, 8 es comandon “rat” sero execute. SS. {orignal 1,0 dso “pin” seroexeeado,O comand x funciona a mci eda efor Em ours Eaguagcas qu inplemestan cmandy switch, ou sma os vars a seem ‘estos pad dopo neo, Em PHP pei sr valores dtp string cam elem de ete locomando switch. O ctempl tit fancon pefeiament: switch ($3) print "A casa ¢ anarele"y SS print "a arvore @ bonita"; case *Linpaaa’ ‘comandos de repetiso while 1 Seomandod>y Seomando5>y Seonando3>y while () + “? endwniie; A exresso 8 west a a vez que o Hac de inst erin am db est nial Seo valor da expresso passa a ser F250 no meio doco de insrstes, a xecusto spe at fm Jo aco Se est ini conifer vlads comp 39, oblon de comandor no ser exec, (empl spur mostao wo do wh Le pra imprimir de 10: sina waile (94 <=10) print $ise; do... while (tag do. whe fnsons de mania baat semelunte own Le, com singles erenga que w expe 6 tesa ao fal do Moco de como Igo do. . whe poo apenas um sian, que segue 0 | * “ccomando> } while (cexpressio>) ; for (0 tip de lg sn compleno € 6 for. Para os que programa em C. C++ a ava a siilagd do fincionamento do fr € natural. Mas para ages ue eto acosumados a ingugens cm Pasa un grande dae pra wo do oe. As us sites permis so: for (; s) for (; s ){ s Seomando> Seomando>? : for (; s ) : ‘? Asti cgrsses que eam ene press as spun fn: Inca: comantoou sega de comand sere realizes ates do ino J, Seve iniaizar aries Conde: Expresso tolena que define © comands gue eto dense dao seo exces 08 nfo. Eagano 4 expresso fr verde (aor dere de 210) os comandos serio sceutaton Ineo: Como eect of de ctaexeugi do lag Uncominds for fico de manera sera ae wh Le ees da sega forme: hile. {) ( conandos uebra de tuxo Break © comndo break po er wtlza em lags de do, For € while, alm dows jf ‘sono comando sit ch, Ao encontrar um break den de um dese los, erred PHP arn ‘smediatanente a ecco do ao, sein armaments 0 fax dose while (5x > 0) ( if (x == 20) 1 ‘echo “erro! x = 20°; No wach de igo acima, oh 16 tem uma congo ar sou min normal <0), as foh liza 0 teak para o cao de um Kemin Alp previo no Inco do Igo. Assim o ‘merida seis pra cman seit Continue © comundo cont inve também deve x wide o interior de lags, fnsona de ‘mania emelhant ao = 2a, coma ire qu 0 Max 2 ives de si do ag volt para ino dle ‘Vejuamn conmngie ajo sem gnraos segundo pra primates, 7. Fungées Detnindo tngoes Fonction nome da funggo((srol, axa2, 8293)) | [return ]; (ualgur cédigo PHP valde pode estar condo mo intsor de unm fn. Como a heaped tips em PHP € dinfnica,o tipo de retro no deve ser deslarad, seo necesito gue 0 rogranador eta pra que a Sugio noes po deja E reconendivel que es mio Ben ecumentado pra fia ata e compreenio do cg, Para efoto de docunentaie lease 0 spun frat de dct de fg: tipo function noe_da_funcao(tipe argly tipo are2, te forte a6 deve ser wad ma cuanto So sr oi © PHP alo asi a sla depo. sign quem muitos eso programa deve eta steno 20 Spo don valores psads camo purines, pois sno for pssalo © tipo espera no € emi neu ale pelo ‘erred PHP que ene ao tet os poe Valor de retorno “Toda eno pine oyiosinene wien or alo, sinless enero comma ‘endo eon vlr lg No € posse gu forte ma em alr, ms 6 permit fazer com ue ‘ipo de cad argument ambi é iz apens par efeo de documenta Exemplo function Amprime (Stet0) | fecho seextor , imprime ("teste de fungdes") -Passagom de parémetros por reteréncia Nomen, pssigem depres cm PHP eta por vr o ets cmt da Exemplo: function maie5 (numero) ( san 3; mmais9 (Sa) //Sa continua valendo 3 No exempl scm, come a passage de primes pr al, a fang mab in ap a exec said fg vor aero varie! & cipro, Sea pssgem de valor fnse ‘ea por ren, ariel Sater como vale O que eco rman € gu a er cama ua ‘uns, oiterretadr salva eo scp ato Se, conteos ds wade Se uma des avs for psn como pare, se condo fa preserado, oi fn ir bahar a verdad com spa da varie Pari se a pssagon de pris for feta pr refers, tala aero que 3 ang realizar vlr passat como pret aftk a varie! que oom, Hi das mantis de areca qu uma fang tena parimetos pass por refers: Indiconde lana na declamcfo da fancin, © qua fan com que 2 peamagem da partmanes sempre onja snsimc @ ga = sp = 1; nais5(5a, Sb); /* Neste caso; 96 Snumi teré seu valor aiterado, pols a passagem por referéncia esta definida na Geclaracde da fungao. */ mmais5 (Sa, 6$b); /* Aqui as duas variaveis terdo seus valores alterados. */ Argumentos com valores pré-definidos (default) Em PHP pool rls dears argument defn, ou Sloe te 0 sido em can de ma sr passa no ugar do gue. Quando algun parimeto € delat deta ‘muni, apastgem & meso na chamada da fgdo toms pon Function teste (sphp = “testando") ( ‘echo SphPH : tested); // inprine “testando” teste (Toutro teste"); // imprine “outro teste” bom ema que quando angi tem sas um parm, o qu tem vl df deve ser dara por si: function teste(sfigura = circuley Scor) ( fecho "a figura é um ™. S£igura. " de cor * Scory 1 teste (azu) 7X fungéo ndo vai funcionar da maneira esperad tum erro no interpretador. A declaragio correta é: */ function teste2(Seor, $figura = cireuie) ¢ ‘echo “a figura 6 um". Sfigura. “de cor * Scors Conterto (O coment £0 cont de varies seus respective Ylres num deeminad poate do programa, Na chamada de um fn, a0 ini a exeso do aco ie cmt a implemetaso dt ‘tis iid denuodagel boc seo elimina a tein execu fs. scope ‘xcop de uma varivelem PHP define» orto do program onl el ode ser ira, apollo, Un vartvel de scope label ao pode serial no nro de uma fg sem hj ama desta, Sphp = "Testando"; Function Testet) ( ‘echo sphps y Tested: (wos ain do pri sds lpm poi varie Sp & de scope pba lo le ser frida um cop acl es gue haut com moe gal qe cuba us Visa, Para gue orp fancied form des a varie bla erwin deve se detarada. Exenplo: Sphp = "Testando”; function Testet) ( glebal php; echo. sphps H eee function Testet) ( fecho SGLOBALS{"php"}; // imprime Sphp fecho Sphp; // nao imprime nada , ste 8. Variaveis O modsicador static Una yrdel esc € vise mum Scop loc mas a ina pena uma er seu vale lo ¢ pertido quando acc dost dea es scope. Vino Segui exemple: function Teste() ( sa= 0; echo Sar Saees , imo comand da fn nips asm gu fo enced ees feng a ‘rl Sa pede seu valor. 16 no cxempl sepuine,scaa cham fang aware Sater seu aloe ges ese increment function Teste) ( static Sa = 0; echo Say Sates (© motificador static € muito wtzado em fangs recuse, que © valor de algunas cottas € manido ao termina a exeesio d fino. Na pia exee_do di fgEo, a0 encontrar onament adsl om si, valoda vrével ecupera Em auras pls ariel delaraa como st atic temo mesmo “enpo de vi recipe apis adel, seria Varidveis Varisvols ‘PHP tm um mcuno sonhcid como varies aries, qu consist cm varies cs nom thin ovaries San iz feta atran do dupa cio) Sa = "tester? 3$a = "Maurieto Viva" © exemplo acia e equivalente ao seguinte: 3a = “testers Steste = "Mauricio Vives"; Variéves enviedas pelo navegador receber informs pao software de mvezaio. A mania de evi infomages, como jf a visto ameriormene, peramente &arv6s dem comand de npn, com 0 ech. Para receer iafmagen ‘nds do avegnder aves it on un frm hilo PP tlic a fore vind arava A4QURL Po exemple: ss scrip php es loraiado em "he tp://ocalhost /teste.php3" € ‘vos ochama coma uel “http: //Localhost /teste.php27php-teste*, momaianente 0 PHP cir um vrdvel camo ame Sp contend a ing "ite" Note que conic a varie et mo fomato ur Lencode. Os fermi hl fei infomages stoeacamene nest Fama, 0 PHP decode se noes de trtaeno plo pogramadr. uRtencode sveing Urlencede string texto) String wrldecode (string texto) sas funges server respectivamente para couliicar ou decoxlificar um texto pasado como argumento, Part entender melhor o que & um argumento e como funciona ‘uma fungSo, liao pico “anges Varidveis de ambiente © PHP pou dives vues de abet, como a SPHP_SELP, por exempta, qe olin © nome © path do pips aut, Almas cura contin infrmases sre 0 mavegar do costae de ambi eseu respects conte, devese wir ange pp Ln £9 () Vericando 0 ipo de uma valve! a ds pgm dics za plo PHP, nem seme & pone she ual ipo luna varie em determina ists ao cot com ajuda de alguns fies que aod verifier So. Avenfiao pode se fia de das mais Fungo que retorna o tipo da variavel a fungio ga get type. Su sunt sepuine string gettype(nixed var); A patra “ined” inca qu varie var pode ner de divers po. Aaateing, isareay © Ssebject. Tales tm o mesmo format, seginds modelo da ssc epi tot de Anteger(aixed var); “Tod sss fgien str true se vail for dace tio, ¢ false em cx Dostruindo uma variver pout descar uma varie se lank for ws pestered fang ‘unset que tema spun assim: fot unget (nixed var); Amgen vive on ma tes aura capac perl eds crn gun ese de xii. Se as fe for fet un cama vais cin una nova viel de exo fame de cameo varn alo Ser que a clumads ea pela fngio L992. Sea gprs for bem owt oma true, Veritcando se uma varéve possul um valor sistem dis po de ete que pose er ots par ear eum varie et set coma ung L228 ecm ating empty Aung isset ‘A hingbo empty Sot empty (nixed vas)? Arrays Mutimensionais Arrays multidimensionas so arrays simples com um dos (ou todos) seus elementos sendo outro array e assim consecutivamente Exemple: ‘SCampeaofS] = 123456789 ‘STricampeaof“easa"] = SCampeao: ‘STricampeaolpredio"| = 1919191; Brasil] SBrasill2} “Tetracampeao": ‘SBrasilf"mundo"| = “Pentacampeao’ echo $Campeao|S}; ‘resulta 123456789 Array simples echo SBraslf]["casa"I'5] ; resulta 19191919 Array widimensional echo STricampeao["casa"l[5];_/resultard 123856789 Array bidimensional echo SBrasill'copa"I[predio"y; resultaré 19191919 Array bidimensioal 9. Classes e Objetos Classe ‘stage dubia € pod suai cused encpameno de nfrmsso. Camo encapamento © sitio um classe no precisa saber como el ¢ implementa, Basta pr a tz concer a ines, ja fangs pent. Us he um prt nope sr aa at sive Para defini un cline, deve se iar suite site ola Yome_da_classe ( var Svarisvel2; Fonction foncaol (Sparametro) 7* wom corpo da fungae === */ , objeto Como fl io anerorment, elses so tos, © alo poem er antuias vane, ‘ares do po de uma classe so chumads de objets, devem sr cris wiizandoo opera ne, segundo exemple sn Svariavel = new Snome_da_classe; anlar at fangs defi na case, deve sr ulizado 0 opera * exemple svarsavei->funeaot (7 A varivel sis Na defini de ums clase, pose ilar a vanivel SUL, que 6 pri abet, eee eee return Sthis->saldor , function credito (Svalor) ( Sthis->ealdo += Svalory : 1 ‘gninhaconta = new contay Sminhaconta->eaide();// @ varidvel interna nto fol 7/ inicializads, « nso conten 17 valor algun gninhaconta->oredito (50) ; Sminhaconta->ealde(); // zetorna 50 ‘Subciesses ‘Una sep er uma exes de ata, is ignifca que la herr od svar Fangs dn ounce, sida to oe Sore ficou plo poqmder Era PP le & pers liza erga mpl ou ja una classe pode se exenso de apenas wma cua Par cau classe een, devs de oa, deve Ser iia a pla eserads extends, como pe er io m9 cxcmplo seine: novaconta extends conta { var Snuneso; Fonction mumero() { return sehis-Snumeroz ola , | cae aca 6 deriva ds clase cota, temo at mesma fangs € wari, com a igo davarivel Snuero.eafangbo numero () Cconstrutores \Uncomaator um fing defini clave que asomutcamcte chads 0 momen emu a dase isan (tans do oped ne). 0 contre deve ler meso ome que acs & ue peteace. Vj o exemple: , function exedito($valor) 4 Sthis->saldo += Svalors Praemos persher qa cle cont ago post um cama, qu inci a vane Sealdo como vr. (Un comtatr pe conte rpumenos, qe si opin oq torn xt eames mais plea. No exempl acim. cosratr da clase conta pode receer como arguments un va que seria 0 valorinia ds ona ero quando o conser da cs deriva € cana, 10. PHP avancado Intragindo com 0 browser PHP tan permite ineragicom ntormages do browse automatcanene Por exemple, aprondendo PHP</titie></head> <body> <<? echo SHTTP_USERAGENT; 7> </body> se igo cm um Inmet Explorer 40 com sistema operant Windows 9% gee: Mocil/t.0 (compute: MSIE: Wine 38) -cnemi> ‘chead><titleraprendend PHP</titie></head> ‘eody> S£ (gtxpos (SHTTP_USERLAGENT, MSIE") != 0) ( echo *Voc® usa Internet Explorer*y Velse ¢ echo sVocé ndo usa Internet Explorer; i <ynemi> Invermere ona, spar cues anges pera sera lo seman fi ven mor 9 muginmte do outs um figs oo eign enter lads a evi especie pos sr port ma expos, O PHP rt ses aks cm itis, a nome 60 nme Wo campo dio no fermi. O exemple a spit mos so, € mosea tanh como ogo PHP poe serine m quae prte do cig HTML: <hoad><title>aprondendo PHP if Geexto t= "9 echo *oce digitou \"stexto\tebrocbr>ty
Einput typentext® nane="texto" value=*™ eizeni0> input typestsubmit" name="aub™ values*Enviar!">
‘Ao salvar o arquivo acimae carregi-lo no browser, © usuétio ver apenas um formulirio que contém um espago para digitar 0 texto. Ao digitar um texto qualquer submeter 0 formuliti, a esposta, ue é o mesmo arquivo PHP (indicado pela constante SPATHLINFO, que retorna © nome do arquivo) exibii a mensagem "Vooe digitou >’ sing az, ep iso mada inpreso a primeira pe. Quand algu texto € gtd mo form € subtle, © PHP pans at-o como uma varie Como 90 Formule ocmpo possi o name "et ‘tl com Seu comeio Ser Sena. Asin, no psi tte 0 va da varie er rete de ua sing via, 0 PHP inrime un tex anes formato, cookies ‘Cookies io mecanismos para armazenare consulta informagies nos browsers dos sntes di pig. O PHP atribui cookies utiizando a fungi seteookle, que deve ser ada antes da tag numa pina (0 uso de cookies no ¢ recomendado quando se tata de informagiessigilosas.Os =Yutebol">Futebolcfoption>

También podría gustarte